C++. Количество слов, имеющих n буквы

226
05 февраля 2022, 10:30

Всем привет! Не получается посчитать количество слов имеющих символы 'n' и 'b'. Т.е., нужно сосчитать количество слов имеющие обе эти буквы. С одной буквой еще понятно, но вот как две найти. Нашел функцию find, но как понял, она ищет подстроки

string name;
    vector<string> str;
    int sum = 0;
while (cin >> name) {
    if (name == "0") {
        name.clear();
        break;
    }
    /*if (name.find('b') && name.find('n')) {
        sum++;
    }*/
    str.push_back(name);
}
for (int j = 0; j < str.size(); j++) {
    cout << str[j] << "\n" ;
}
cout << sum;
Answer 1

.find() здесь подходит, но вы используете ее неправильно.

Она возвращает не true или false, а позицию в строке (или string::npos, он же -1, если ничего не нашел).

Нужно так:

if (name.find('b') != string::npos && name.find('n') != string::npos)
READ ALSO
Лог действий с файлами

Лог действий с файлами

Подскажите как реализовать программу которая будет вести лог действий с файлами (Открытия/закрытия/удаления)Хочу реализовать такой лог:...

88
Сравнение даты в формате string

Сравнение даты в формате string

Написал функцию для сравнения двух дат в формате string между собойИсходил из такой логики: сперва сравниваем год, если он меньше или равно(<=),...

92
Не запускается exe вне qt creator

Не запускается exe вне qt creator

Работаю в qt creator, все запускаетсяПри попытке запустить exe вне creator ничего не происходит

64