Количество слов в предложении

143
25 декабря 2019, 22:20

Не могу разобраться с циклом. Мне надо узнать количество слов в предложении, а получается количество символов без пробелов.

setlocale(LC_ALL, "Russian");
cout << "Введите предложение: ";
char str[100];
cin.getline(str, 100);
int j, words, i = 0;
while (str[i] != '\0'){
    i++;
}
int spc = 32;
words = 0;
int k = 128;
int b = 0;
for(j = 1;j < i; j++){
  for(k=128;256>k;k++){
        if (str[j] == char(k)){
            b++;
            if(str[b] != char(k)){
                words++;
            }
        }
    }
}
cout << words << endl;
Answer 1
setlocale(LC_ALL, "Russian");
cout << "Введите предложение: ";
char str[100];
cin.getline(str, 100);
int j, words, i = 0;
while (str[i] != '\0'){
    i++;
}
int spc = 32;
if(i>0)
    words = 1;
else
    words = 0;
for(j = 1;j < i; j++){
  if(str[j-1] != ' ' && str[j] == ' '){
      words++;
  }
}
cout << words << endl;
}

Самый простой способ посчитать слова, это подсчет пробелов между словами)

READ ALSO
Запись Разных Типов структур в файл

Запись Разных Типов структур в файл

Заранее скажу что предподователь про ifstream ничего не говорил и это начнется с ооп, а на базе учат всему, но не тому что нужно

132
Conan: установка зависимостей

Conan: установка зависимостей

Как установить все зависимости для пакета? Пытаюсь установить cpprestsdkВ зависимостях к этому пакету - bzip2, lzma, boost и т

125
Вернуть массив из функции [дубликат]

Вернуть массив из функции [дубликат]

Боюсь, что снова спрошу какую-то очевидную для всех вещь, которая для меня не очевидна: у меня есть функция, которая должна вернуть массив...

141
java.lang.String cannot be applied to LiveData&lt;java.lang.String&gt;. Как исправить?

java.lang.String cannot be applied to LiveData<java.lang.String>. Как исправить?

Что нужно сделать чтобы исправить эту ошибку? Firebase требует javalang

140