Advertisement
VictoriaLodochkina

lab 4 z2 ERROR FUNCT

Mar 17th, 2020
199
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.72 KB | None | 0 0
  1. #include <iostream>
  2. #include <string>
  3. using namespace std;
  4. int searching_of_repeats(string);
  5. void entering(int, string);
  6. int main()
  7. {
  8.     cout << "Enter text: " << endl;
  9.     string text, rez;
  10.     getline(cin, text);
  11.     int maxs= searching_of_repeats(text);
  12.     entering(maxs, text);
  13.     return 0;
  14. }
  15.  
  16. int searching_of_repeats(string str)
  17. {
  18.     int j = 0;
  19.     int len = 0;
  20.     int p;
  21.     int nast = 0;
  22.     int maxs1;
  23.     int maxrep = 0;
  24.     for (int i = 1; i < str.size(); i++)
  25.     {
  26.         maxs1 = 0;
  27.         p = str.find_first_of(" ", j);
  28.         if (p == -1)
  29.         {
  30.             break;
  31.         }
  32.         len = p - nast;//длина слова с учетом пробела
  33.         nast = p;
  34.         int nach = p - len; //начало нового слова
  35.         int* mas = new int[len-1];
  36.         for (int l = 0; l < len-1; l++)
  37.         {
  38.             mas[l] = 0;
  39.         }
  40.       //  mas[0]++;
  41.         for (int t = 0; t < len; t++)
  42.         {
  43.             if (str.find(str[t]) <= t)
  44.             {
  45.                 mas[str.find_first_of(str[t])]++;
  46.             }
  47.         }
  48.         for (int l = 0; l < len - 1; l++)
  49.         {
  50.             if (mas[l] > maxs1)
  51.             {
  52.                 maxs1 = mas[l];
  53.             }
  54.         }
  55.         if (maxs1 > maxrep)
  56.         {
  57.             maxrep = maxs1;
  58.         }
  59.         delete[] mas;
  60.         j = p + 1;
  61.     }
  62.     cout << maxrep << endl;
  63. return maxrep;
  64. }
  65.  
  66.     void entering(int maxrep, string text1)
  67.     {
  68.         string rez;
  69.         int j = 0;
  70.         int len = 0;
  71.         int p;
  72.         int nast = 0;
  73.         for (int i = 1; i < text1.size(); i++)
  74.         {
  75.             int maxs1 = 0;
  76.             p = text1.find_first_of(" ", j);
  77.             if (p == -1)
  78.             {
  79.                 break;
  80.             }
  81.             len = p - nast;//длина слова с учетом пробела
  82.             nast = p;
  83.             int nach = p - len; //начало нового слова
  84.             int* mas = new int[len-1];
  85.             for (int l = 0; l < len-1; l++)
  86.             {
  87.                 mas[l] = 0;
  88.             }
  89.            // mas[0]++;
  90.             for (int t = 0; t < len; t++)
  91.             {
  92.                 if (text1.find(text1[t]) <= t)
  93.                 {
  94.                     mas[text1.find_first_of(text1[t])]++;
  95.                 }
  96.             }
  97.             for (int l = 0; l < len-1; l++)
  98.             {
  99.                 if (mas[l] > maxs1)
  100.                 {
  101.                     maxs1 = mas[l];
  102.                 }
  103.  
  104.             }
  105.            if (maxs1 == maxrep)
  106.             {
  107.                 rez.append(text1, nach, len);
  108.             }
  109.             delete[] mas;
  110.             j = p + 1;
  111.         }
  112.        cout << rez;
  113.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement