Advertisement
_Kripaka001_

findLettersFunctions 3

Jul 27th, 2018
108
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.21 KB | None | 0 0
  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5. int findEndOfTheLine(char line[],int length){
  6.     int endInt = 0;
  7.     for( int i = 0 ;i < length;i++){
  8.         if(line[i] == '\0'){
  9.             endInt = i;
  10.             break;
  11.         }
  12.     }
  13.     return endInt;
  14. }
  15. void output(int lettersNumber[], char letters[]){
  16.     for( int i = 0; lettersNumber[i] > 0 ;i++){
  17.             cout << endl << letters[i] << " - " << lettersNumber[i];
  18.     }
  19. }
  20. void cleanArr(int numbers[]){
  21.      for(int i = 0; i < 26;i++){
  22.         numbers[i]=0;
  23.     }
  24. }
  25. void fillArrWithAlphabet(char letters[]){
  26.      for(int i = 0 ;i < 26; i++){
  27.         letters[i]=65+i;
  28.     }
  29. }
  30. void makeLettersBigger(char userLine[], int arrSize){
  31.     for( int i = 0 ;i < arrSize;i++){
  32.         if(userLine[i]>='a' && userLine[i]<='z'){
  33.             userLine[i]=(int)userLine[i]-32;
  34.         }
  35.     }
  36. }
  37. void fillArrWithNumbers(int lineEnd, char userLine[],int numbers[]){
  38.     for(int i = 0; i < lineEnd; i++){
  39.         if(userLine[i]>='A' && userLine[i]<='Z'){
  40.             numbers[(int)userLine[i]-65]++;
  41.         }
  42.     }
  43. }
  44. void sortArrays(int numbers[], char letters[]){
  45.     int bufInt = 0;
  46.     char bufChar;
  47.     for( int i = 0; i < 25;i++){
  48.         for(int j = 0; j < 25; j++){
  49.             if(numbers[j] < numbers[j+1]){
  50.                 bufInt = numbers[j];
  51.                 bufChar = letters[j];
  52.  
  53.                 numbers[j] = numbers[j+1];
  54.                 letters[j] = letters[j+1];
  55.  
  56.                 numbers[j+1] = bufInt;
  57.                 letters[j+1] = bufChar;
  58.  
  59.             }
  60.  
  61.         }
  62.     }
  63. }
  64. int main()
  65. {
  66.     int length, lineEnd;
  67.     char userLine[101];
  68.     int numbers[26];
  69.     char letters[26];
  70.     length = 101;
  71.  
  72.  
  73. while(1 > 0){
  74.     cout << "Write in the line something ( you can type 100 symbols )" << endl;
  75.     cin.getline(userLine,101);
  76.     cout << userLine << endl;
  77.  
  78.     lineEnd = findEndOfTheLine(userLine,length);
  79.     // uppercase / lineEnd / nulls out numbers
  80.     cleanArr(numbers);
  81.     // Fills an array with letters
  82.     fillArrWithAlphabet(letters);
  83.     makeLettersBigger(userLine,length);
  84.     // count number of letters
  85.     fillArrWithNumbers(lineEnd, userLine, numbers);
  86.      // sort
  87.     output(numbers,letters);
  88.    }
  89. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement