Вопрос задан 06.05.2019 в 22:48. Предмет Информатика. Спрашивает Терехов Денис.

Помогите написать программу на с++ Надо вывести из строки со словами разделенными пробелами ,

вывести слова в которых буквы не повторяются
0 0
Перейти к ответам

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Свинчук Артём.
#include<iostream>
#include<string>
using namespace std;

int main()
{
    string S;
    cout << "BBEDITE TEXT: ", getline(cin,S);
    S+=' ';
    string Slovo = "";
    for (int i = 0; i < S.length(); i++)
    {
        if (S[i] != ' ') Slovo+=S[i];
        else
        {
            bool B = 1;
            for(int j = 0; j+1 < Slovo.length(); j++)
            {
                for(int m = j+1; m < Slovo.length(); m++)
                {
                    if (Slovo[j] == Slovo[m]) B = 0;
                }
            }
            if (B) cout<<"\n" <<Slovo;
            while (S[i] == ' ') i++;
            Slovo=S[i];
        }
    }
    return 0;
}
0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Конечно, я могу помочь написать программу на языке C++, которая будет выводить слова из строки, в которых буквы не повторяются. Вот пример такой программы:

```c++ #include #include #include

bool checkUniqueLetters(const std::string& word) { std::unordered_set uniqueLetters; for (char letter : word) { if (uniqueLetters.count(letter) > 0) { return false; } uniqueLetters.insert(letter); } return true; }

int main() { std::string inputString; std::cout << "Введите строку: "; std::getline(std::cin, inputString);

std::string word; for (char c : inputString) { if (c != ' ') { word += c; } else { if (checkUniqueLetters(word)) { std::cout << word << std::endl; } word.clear(); } } // Проверяем последнее слово после последнего пробела if (checkUniqueLetters(word)) { std::cout << word << std::endl; }

return 0; } ```

Программа считывает строку с помощью функции `std::getline` и затем проходит по каждому символу в строке. Если символ не является пробелом, он добавляется к текущему слову. Когда встречается пробел, проверяется, содержит ли текущее слово уникальные буквы с помощью функции `checkUniqueLetters`. Если это так, то слово выводится на экран.

Функция `checkUniqueLetters` создает пустой набор `uniqueLetters`, затем проходит по каждой букве в слове и проверяет, есть ли она уже в наборе. Если буква уже есть в наборе, это означает, что она повторяется, и функция возвращает `false`. Если буква не найдена в наборе, она добавляется в него. Если все буквы в слове уникальны, функция возвращает `true`.

Таким образом, программа выводит только те слова из строки, в которых буквы не повторяются.

0 0

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос