Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- using namespace std;
- int main()
- {
- unsigned int nWords = 0; //счётчик слов
- char symbol = 0; // Переменная для считываемого символа
- bool isWord; // Булевая, которая будет говорить, являетс предыдущий символ часть слова
- cin.get(symbol); // Считываем первый символ
- if (symbol != ' ' && symbol != '.') // Если символ(1й) не точка и не пробел
- {
- isWord = true; // То это часть слова
- }
- else
- {
- if (symbol = '.') //Если (1й) символ точка, то просто заканчиваем программу
- {
- cout << endl << "Amount of words = " << nWords << endl;
- return 0;
- }
- else
- isWord = false; // Иначе не часть слова
- }
- while (cin.get(symbol)) // Пока считываем символ
- {
- if (symbol == '.') // Если точка,то
- {
- if (isWord) // Либо сохраняем последнее слово
- nWords++;
- break; // Либо завершаем
- }
- if (isWord) // Если предыдущий был частью слова,то
- {
- if (symbol == ' ') // Если текущий пробел
- {
- nWords++; // Нужно сохранить слово
- isWord = false; // И обнулить булевскую (ибо пробел не слово)
- }
- }
- else
- {
- if (symbol != ' ') // Если предыдущий не слово, а текущий не пробел, то
- {
- isWord = true; // Говорим, что это часть слова
- }
- }
- }
- cout << endl << "Amount of words = " << nWords << endl;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement