Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- using namespace std;
- int findEndOfTheLine(char line[],int length){
- int endInt = 0;
- for( int i = 0 ;i < length;i++){
- if(line[i] == '\0'){
- endInt = i;
- break;
- }
- }
- return endInt;
- }
- void output(int lettersNumber[], char letters[]){
- for( int i = 0; lettersNumber[i] > 0 ;i++){
- cout << endl << letters[i] + " - " + lettersNumber[i];
- }
- }
- int main()
- {
- int length, lineEnd, bufN;
- char bufC;
- char userLine[101];
- int numbers[26];
- char letters[26];
- length = 101;
- lineEnd = findEndOfTheLine(userLine, 101);
- cout << "Write in the line something ( you can type 100 symbols )" << endl;
- cin.getline(userLine,101);
- cout << userLine << endl;
- // uppercase / lineEnd / nulls out numbers
- for(int i = 0; i < 27;i++){
- numbers[i]=0;
- }
- // Fills an array with letters
- for(int i = 0 ;i < 27; i++){
- letters[i]=65+i;
- }
- for( int i = 0 ;i < length;i++){
- if(userLine[i]>='a' && userLine[i]<='z'){
- userLine[i]=(int)userLine[i]-32;
- }
- }
- // count number of letters
- for(int i = 0; i < lineEnd; i++){
- if(userLine[i]>='A' && userLine[i]<='Z'){
- numbers[(int)userLine[i]-65]++;
- }
- }
- // sort
- for( int i = 0; i < 26;i++){
- for(int j = 0; j < 26-i-1; j++){
- if(numbers[j-1] <= numbers[j]){
- bufN = numbers[j];
- bufC = userLine[j];
- numbers[j]=numbers[j-1];
- numbers[j-1]=bufN;
- letters[j]=letters[j-1];
- letters[j-1]=bufC;
- }
- }
- }
- output(numbers,letters);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement