Advertisement
wintest

НА АДИ ЗАДАЧАТА

Jan 26th, 2017
130
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.27 KB | None | 0 0
  1. #include <iostream>
  2. #include <clocale>
  3. #include <cstring>
  4.  
  5.  
  6. using namespace std;
  7. //Задача 6.
  8. //Да се състави програма на C++, чрез която се въвежда фраза.
  9. //Програмата да извежда само различните букви, участващи във въведения низ.
  10. //изведени букви да са малки без значение дали при въвеждането са били главни или малки.
  11. //Подреждането на буквите да бъде азбучно – във възходящ ред по техния код.Програмата да изведе броя символи в изходния текст.
  12. void sortThemAll(char *str, char bukva);
  13.  
  14. int main() {
  15.     setlocale(LC_ALL, "Bulgarian");
  16.     char str[256];
  17.     char bukva;
  18.     cout << "Моля въведете текст" << endl;
  19.     cin.getline(str, 250);
  20.     cout << "Моля въведете буквата, която търсите" << endl;
  21.     cin >> bukva;
  22.     sortThemAll(str, bukva);
  23. }
  24. void sortThemAll(char *str, char bukva) {
  25.     size_t counter = 0;
  26.     size_t tmpCounter = 0;
  27.     int i = 0;
  28.     bool flag = false;
  29.     if ((bukva >= 'A') && (bukva <= 'Z')) { //иамм голяма буква => правя я малка
  30.         bukva += 32;
  31.     }
  32.     for (size_t i = 0; i < strlen(str) - 1; i++)
  33.     {
  34.         if ((str[i] >= 'A') && (str[i] <= 'Z')) { //иамм голяма буква => правя я малка
  35.             str[i] += 32;
  36.         }
  37.     }
  38.  
  39.     while (str[i] != '\0') {
  40.         for (size_t i = 0; i < strlen(str); i++)
  41.         {
  42. if (((str[i] >= 'A') && (str[i] <= 'Z')) || ((str[i] >= 'a') && (str[i] <= 'z'))) { //намирам се в дума - сред букви съм, независимо големи или малки
  43.             if (str[i] == bukva) {
  44.                 if (str[i] == str[i + 1]) {
  45.                     tmpCounter++;
  46.                 }
  47.                 flag = true;//в дума съм (тоест срещнала съм буква като преди това не е е имало буква)
  48.             }
  49.             else {
  50.                 if (tmpCounter > counter)counter = tmpCounter;
  51.                 flag = false;//не съм в дума, срещнала съм тире, точка или всичко различно от буква.
  52.                 tmpCounter = 0;
  53.             }
  54.            
  55.         }
  56.  
  57.         }
  58.         i++;
  59.    
  60.     }   cout << counter+1;
  61. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement