Advertisement
Guest User

Untitled

a guest
Oct 21st, 2018
62
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.73 KB | None | 0 0
  1. bool firstGlas(char *str)
  2. {
  3.     int length = strlen(str);
  4.     int naidemSlova(char *str, int wordStart, int lastSymbol);
  5.     for (int i = naidemSlova(); i < length; i++)
  6.     {
  7.         if ((i == 0) || (str[i - 1] == ' '))//ищем первую букву слова
  8.         {
  9.             if (str[i] == 'a' || str[i] == 'e' || str[i] == 'y' || str[i] == 'u' || str[i] == 'i' || str[i] == 'o')
  10.             {
  11.                 return true;
  12.             }
  13.             else return false;
  14.         }
  15.     }
  16. }
  17. char zamenaGl(char *str)
  18. {
  19.     int length = strlen(str);
  20.     for (int i = 0; i !=length; i++)
  21.     {
  22.         if (firstGlas(str))
  23.         {
  24.             str[i] = toupper(str[i]);// заменили букву на большую
  25.         }
  26.     }
  27.     return str[i];
  28. }
  29.  
  30. int naidemSlova(char *str, int wordStart, int lastSymbol)
  31. {
  32.     int length = strlen(str);
  33.     int wordStart = 0;
  34.     int lastSymbol = 0;
  35.     for (int i = 0; i < length; i++)
  36.     {
  37.         if (str[i - 1] == ' ' || str[i] == 0)
  38.         {
  39.             wordStart = i;
  40.         }
  41.         for (int j = wordStart; j < i; j++)
  42.         {
  43.             if (str[j + 1] == ' ' || str[j + 1] == 0)
  44.             {
  45.                 lastSymbol = j;
  46.             }
  47.         }
  48.         return wordStart, lastSymbol;
  49. }
  50.  
  51.     char* newstroka(char *str1)
  52.     {
  53.         char *str1 = new char[256];
  54.         if (!isalpha(str[i]))// наткнулись на что-то кроме буквы
  55.         {
  56.             if (firstGlas(str))
  57.             {
  58.                 for (int j = wordStart; j < i; j++)
  59.                 {
  60.                     str1[lastSymbol] = str[j];
  61.                     lastSymbol++;
  62.                 }
  63.  
  64.             }
  65.             str1[lastSymbol] = ' ';
  66.             lastSymbol++;
  67.             wordStart = i + 1;
  68.         }
  69.     }
  70.     if (firstGlas(str))
  71.     {
  72.         for (int j = wordStart; j < length; j++)
  73.         {
  74.             str1[lastSymbol] = str[j];
  75.             lastSymbol++;
  76.         }
  77.         str1[lastSymbol] = ' ';
  78.         lastSymbol++;
  79.     }
  80.     str1[lastSymbol] = 0;
  81.     //определили границы слова и занесли в новую строку
  82.     return str1;
  83.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement