Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Для новичков > Подсчитать количество слов удовлетворяющих условию


Автор: Belfire 24.12.2016, 11:49
Дана строка, содержащая текст. Указать количество слов, которые содержат хотя бы одну букву из звонких согласных.
Прога вместо вывода количества слов считает пробелы.
Буду очень признателен если подскажете, как исправить условие, ибо сам цикл останавливается на 19 строке и тут же прога идет на вывод.
Код
#include "stdafx.h" 
#include "stdio.h" 
#include "string.h" 
#include "iostream" 
#include "clocale" 
#include "sstream" 
using namespace std; 
 
int _tmain(int argc, _TCHAR* argv[]) 
{ 
     string str; 
     cout«"Enter text: "; 
     getline(cin,str); 
     istringstream ist(str); 
     cout « "\n\Result: "; 
     int size, count = 0; 
     size = str.length(); 
     for (int i = 0; i < size; i++) 
          if (str[i] == ' ') 
               if (str[i + 1] == 'б','в','г','д','ж','з','л','м','н','р' || str[0] == ' ') 
                    count++; 
     cout « count « endl; 
     cout « "\n" 
     system ("pause"); 
     return 0; 
}

Автор: likehood 24.12.2016, 15:42
У тебя ошибка в 20-й строке: в С++ нельзя перечислять сравниваемые значения через запятую. Вместо этого можно использовать функцию strchr. Например так:
Код

if (strchr("бвгджзлмнр", str[i+1]))
    count++;

Кстати, непонятно зачем в той же 20-й строке нужно сравнение str[0] == ' '.

Автор: Belfire 24.12.2016, 16:15
Цитата(likehood @ 24.12.2016,  15:42)
Код

if (strchr("бвгджзлмнр", str[i+1]))
    count++;

Благодарю, что ответили smile , но программа теперь при вводе предложений со звонкими согласными в словах выдает в результате 0. Может там найдется еще какой-нибудь косяк?(

Автор: likehood 24.12.2016, 18:12
Смотря что тебе нужно проверить: чтобы слово начиналось с нужной буквы, или чтобы содержало хотя бы одну нужную букву. Если что твоя программа проверяет первый случай. И по поводу сравнения str[0] == ' ' я так и не понял зачем оно нужно и есть ли оно в окончательном варианте программы.

Автор: vpf 25.12.2016, 08:44
...

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)