Advertisement
daniil_mironoff

Ex. 6.5 (2)

May 23rd, 2019
125
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.60 KB | None | 0 0
  1. // ЗАДАНИЕ 6.5 (2)
  2. // Дана строка, содержащая текст. Найти длину самого короткого слова.
  3.  
  4. #include <iostream>          // Для ВВОДА и ВЫВОДА
  5. #include <string>            // Для string
  6.  
  7. using namespace std;         // ПРОСТРАНСТВО ИМЁН
  8.  
  9. int main() {
  10.     // Ввод строки
  11.     string str;
  12.     cout << "Enter string: ";
  13.     getline(cin, str);
  14.    
  15.     // Счетчик символов в слове
  16.     int count = 0;
  17.     // Максимальное значение
  18.     int min = str.length() + 1;
  19.    
  20.     // Перебор символов вводимой строки
  21.     for (int i = 0; str.length() > i; i++) {
  22.        
  23.         // Если этот символ конец слова (пробел)
  24.         if (str[i] == 32) {
  25.            
  26.             // И прошлый символ был пробелом
  27.             if (str[i - 1] == 32) {
  28.                 continue;
  29.             }
  30.            
  31.             // И это слово меньше прошлого минимального
  32.             if (min > count) {
  33.                 min = count;
  34.             }
  35.            
  36.             count = 0;
  37.             continue;
  38.         }
  39.        
  40.         // Если это последняя буква в строке
  41.         if (i + 1 == str.length()) {
  42.             if (min > count + 1) {
  43.                 min = count + 1;
  44.             }
  45.         }
  46.        
  47.         count++;
  48.     }
  49.    
  50.     // Вывод результата
  51.     cout << "Min count: " << min << endl;
  52.    
  53.     return 0;
  54. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement