RuslanMag

Кол-во слов и макс. слово (В комментах версия Тагирова)

Nov 12th, 2019
58
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.27 KB | None | 0 0
  1. /*
  2.     3) Кол-во слов и самое длинное
  3. */
  4.  
  5. #include <iostream>
  6. using namespace std;
  7.  
  8. int main()
  9. {
  10.     const int N = 100000;
  11.     char S[N];
  12.     cin.getline(S, N);
  13.  
  14.     int z;
  15.  
  16.     int max = 0, t = 0, kol = 0;
  17.  
  18.     for (int i = 0; S[i]; i++)
  19.     {
  20.         if (S[i] != ' ' && S[i + 1] == ' ' || S[i] != ' ' && S[i + 1] == '\0')
  21.         {
  22.             kol++;
  23.         }
  24.  
  25.         if (S[i] != ' ')
  26.         {
  27.             t++;
  28.             if (t > max)
  29.             {
  30.                 max = t;
  31.                 z = i;
  32.             }
  33.         }
  34.         else
  35.         {
  36.             t = 0;
  37.         }
  38.     }
  39.  
  40.     cout << "kol: " << kol << endl;
  41.     for (int i = z - max + 1; i < z + 1; i++)
  42.     {
  43.         cout << S[i];
  44.     }
  45. }
  46.  
  47.  
  48. /*
  49.     int kolw = 0, maxlen = 0, maxbeg = -1;
  50.     int len = strlen(s);
  51.  
  52.     for (int i=0; s[i]; ) // i < len
  53.     {
  54.         //найти начало слова
  55.         while ( s[i] == ' ')
  56.         {
  57.             i++;
  58.         }
  59.         //если не нашли слово, то выход
  60.         if (s[i] == 0)
  61.         {
  62.             break;
  63.         }
  64.         int beg = i;  //запомнить начало слова
  65.         //найти конец слова
  66.         while (s[i] && s[i] != ' ')
  67.         {
  68.             i++;
  69.         }
  70.         if (i - beg > maxlen)   //нашли самое длинное слово
  71.         {
  72.             maxlen = i - beg;
  73.             maxbeg = beg;
  74.         }
  75.         kolw++;
  76.     }
  77.  
  78.     cout << kolw << endl;
  79.     for (int i = maxbeg, maxend = maxbeg+maxlen; i < maxend; i++)
  80.     {
  81.         cout << s[i];
  82.     }
  83. */
Add Comment
Please, Sign In to add comment