Advertisement
_Kripaka001_

findLettersFunctions 1

Jul 16th, 2018
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.76 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.  
  21. int main()
  22. {
  23.     int length, lineEnd, bufN;
  24.     char bufC;
  25.     char userLine[101];
  26.     int numbers[26];
  27.     char letters[26];
  28.     length = 101;
  29.     lineEnd = findEndOfTheLine(userLine, 101);
  30.  
  31.  
  32.     cout << "Write in the line something ( you can type 100 symbols )" << endl;
  33.     cin.getline(userLine,101);
  34.     cout << userLine << endl;
  35.  
  36.     // uppercase / lineEnd / nulls out numbers
  37.     for(int i = 0; i < 27;i++){
  38.         numbers[i]=0;
  39.     }
  40.  
  41.     // Fills an array with letters
  42.     for(int i = 0 ;i < 27; i++){
  43.         letters[i]=65+i;
  44.     }
  45.  
  46.     for( int i = 0 ;i < length;i++){
  47.         if(userLine[i]>='a' && userLine[i]<='z'){
  48.             userLine[i]=(int)userLine[i]-32;
  49.         }
  50.     }
  51.  
  52.     // count number of letters
  53.  
  54.     for(int i = 0; i < lineEnd; i++){
  55.         if(userLine[i]>='A' && userLine[i]<='Z'){
  56.             numbers[(int)userLine[i]-65]++;
  57.         }
  58.     }
  59.  
  60.     // sort
  61.     for( int i = 0; i < 26;i++){
  62.         for(int j = 0; j < 26-i-1; j++){
  63.             if(numbers[j-1] <= numbers[j]){
  64.                 bufN = numbers[j];
  65.                 bufC = userLine[j];
  66.  
  67.                 numbers[j]=numbers[j-1];
  68.                 numbers[j-1]=bufN;
  69.  
  70.                 letters[j]=letters[j-1];
  71.                 letters[j-1]=bufC;
  72.  
  73.             }
  74.         }
  75.     }
  76.  
  77.     output(numbers,letters);
  78.  
  79. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement