В
Все
Х
Химия
В
Видео-ответы
А
Алгебра
Г
Геометрия
О
ОБЖ
Д
Другие предметы
У
Українська література
Р
Русский язык
Б
Беларуская мова
У
Українська мова
Э
Экономика
Ф
Физика
М
Математика
Ф
Французский язык
Г
География
И
Информатика
М
МХК
О
Окружающий мир
П
Психология
Н
Немецкий язык
О
Обществознание
П
Право
И
История
М
Музыка
Л
Литература
Қ
Қазақ тiлi
Б
Биология
А
Английский язык
krisa2003p08dzp
krisa2003p08dzp
24.06.2020 10:02 •  Информатика

Дана строка, содержащая последовательность слов, разделенных пробелами. Напечатать порядковые номера тех слов, которые содержат повторяющиеся буквы. Если таких слов в строке нет, выдать «NO».

Ответ:
ИринаЭлина11
ИринаЭлина11
24.03.2022 08:00

#include <iostream>

#include <vector>

#include <set>

using namespace std;

void solve() {

   string str, s;

   getline(cin, str);

   vector<string> a;

   set<char> letters;

   bool ok = false;

   for(int i = 0; i <= str.length(); i++){

       if(i == str.length() || str[i] == ' '){

           if(ok)

               a.push_back(s);

           s.clear();

           ok = false;

           letters.clear();

       }

       else{

           s += str[i];

           ok |= (letters.find(str[i]) != letters.end());

           letters.insert(str[i]);

       }

   }

   if(a.empty())

       cout << "NO";

   else

       for(auto &i: a) cout << i << " ";

}

int main(){

   solve();

}

0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?