Advertisement
Sanlover

Untitled

Nov 1st, 2020
120
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.76 KB | None | 0 0
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. int main()
  5. {
  6.     unsigned int nWords = 0;    //счётчик слов
  7.     char symbol = 0;    // Переменная для считываемого символа
  8.     bool isWord;        // Булевая, которая будет говорить, являетс предыдущий символ часть слова
  9.    
  10.     cin.get(symbol);    // Считываем первый символ
  11.  
  12.     if (symbol != ' ' && symbol != '.')     // Если символ(1й) не точка и не пробел
  13.     {
  14.         isWord = true;      // То это часть слова
  15.     }
  16.     else
  17.     {
  18.         if (symbol = '.')   //Если (1й) символ точка, то просто заканчиваем программу
  19.         {
  20.             cout << endl << "Amount of words = " << nWords << endl;
  21.             return 0;
  22.         }
  23.         else
  24.             isWord = false;     // Иначе не часть слова
  25.     }
  26.    
  27.     while (cin.get(symbol))     // Пока считываем символ
  28.     {
  29.         if (symbol == '.')      // Если точка,то
  30.         {
  31.             if (isWord)         // Либо сохраняем последнее слово
  32.                 nWords++;
  33.             break;              // Либо завершаем
  34.         }
  35.  
  36.         if (isWord)             // Если предыдущий был частью слова,то
  37.         {
  38.             if (symbol == ' ')  // Если текущий пробел
  39.             {
  40.                 nWords++;       // Нужно сохранить слово
  41.                 isWord = false; // И обнулить булевскую (ибо пробел не слово)
  42.             }
  43.         }
  44.         else
  45.         {
  46.             if (symbol != ' ')  // Если предыдущий не слово, а текущий не пробел, то
  47.             {
  48.                 isWord = true;  // Говорим, что это часть слова
  49.             }
  50.         }
  51.     }
  52.  
  53.     cout << endl << "Amount of words = " << nWords << endl;
  54.     return 0;
  55. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement