#include "pch.h"
#include <iostream>
#include <string>
using namespace std;
int main()
{
string name,temp,result;
int words=0,size;
cout << "Enter a word:";
cin >> name;
size = name.size();
for (int i = 0; i < size; i++) {
if (name[i] == ' ') {
words += 1;
}
}
cout << words;
}
Почему данный код не определяет количество слов? С другими символами работает, а с пробелом никак не хочет
Дело в том, что
cin >> name;
считывает только одно слово, до пробела.
Воспользуйтесь для чтения строки getline.
Подсчет слов это классика жанра (один из примеров в K&R)
#include <stdio.h>
#include <string.h>
size_t
count_words (const char *str, const char *delim)
{
int in_word = 0, c;
size_t cnt = 0;
while (c = *str++) {
if (strchr(delim, c)) {
if (in_word)
in_word = 0;
} else {
if (!in_word) {
in_word = 1;
cnt++;
}
}
}
return cnt;
}
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости