• Дана строка, содержащая текст, заканчивающийся точкой. Вывести на экран слова, содержащие три буквы. C++
    // 9rab.cpp: определяет точку входа для консольного приложения.
    //

    #include "stdafx.h"
    #include
    #include
    using namespace std;

    int main()
    {
    setlocale(LC_ALL, "Russian");
    string s;
    cout << "Введите фразу" << endl;
    cin >> s; cout << endl;
    for (int i = 0; i < s.length();i++) {
    if (s.length() == 3) { cout << s << endl; }
    }




    return 0;
    }
    Не работает,почему?Может по другому как-то?

Ответы 1

  • //Во-первых, строку нужно принимать через gerline, ибо через cin у вас в строку запишутся символы до первого пробела. Во -вторых, поиск слов из 3 символов выполнен неправильно, точнее он сработает в одном только случае, если вы введете строку из 3 символов, и то выведет 3 раза одно и то же слово.//Вот как сделал я:#include <iostream> using namespace std; int main() { string str; int Size; int ArrIndex = 0; cout « "Enter string: "; getline (cin, str); string Element[str.length()]; for (int i = 0; i < str.length(); i++) { if (str[i] != ' ' && str[i] != '.') Element[ArrIndex] += str[i]; else ArrIndex++; } cout « endl; for (int j = 0; j < str.length(); j++) { Size = 0; for (int k = 0; k < Element[j].length(); k++) Size++; if (Size == 3) cout « Element[j] « endl; } return 0; }
    answer img
    • Автор:

      hooper
    • 6 лет назад
    • 0
  • Добавить свой ответ

Еще вопросы

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years