Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<iostream>
- #include<fstream>
- #include<cstdlib>
- #include<cstring>
- using namespace std;
- void insertionSort(int (&numbers)[26], int array_size)
- {
- int i, j;
- int index;
- for(i=0;i<array_size;i++)
- {
- index = numbers[i];
- j = i;
- while((j>=0)&&(numbers[j-1]>index))
- {
- numbers[j]=numbers[j-1];
- j--;
- }
- numbers[j] = index;
- }
- }
- int main()
- {
- fstream file;
- int temp;
- string line;
- int caseNo = 1;
- file.open("input.txt");
- getline(file, line);
- temp = atoi(line.c_str());
- if(temp>=5 && temp<=50)
- {
- for (int i = 0 ; i < temp ; i++)
- {
- long double beauty = 0;
- int count[26] = {0};
- int constant = 26;
- getline(file, line);
- if(line.length()>=2 && line.length() <= 500)
- {
- for(int i = 0 ; i < line.length(); i++)
- {
- if (!isalpha(line[i]))
- {
- line.erase(i,1);
- i--;
- }
- }
- for(int i = 0 ; i <= line.length() ; i++)
- {
- line[i]=tolower(line[i]);
- }
- for(int i = 0 ; i < line.length() ; i++)
- {
- switch(line[i])
- {
- case 'a': count[0] += 1;break;
- case 'b': count[1] += 1;break;
- case 'c': count[2] += 1;break;
- case 'd': count[3] += 1;break;
- case 'e': count[4] += 1;break;
- case 'f': count[5] += 1;break;
- case 'g': count[6] += 1;break;
- case 'h': count[7] += 1;break;
- case 'i': count[8] += 1;break;
- case 'j': count[9] += 1;break;
- case 'k': count[10] += 1;break;
- case 'l': count[11] += 1;break;
- case 'm': count[12] += 1;break;
- case 'n': count[13] += 1;break;
- case 'o': count[14] += 1;break;
- case 'p': count[15] += 1;break;
- case 'q': count[16] += 1;break;
- case 'r': count[17] += 1;break;
- case 's': count[18] += 1;break;
- case 't': count[19] += 1;break;
- case 'u': count[20] += 1;break;
- case 'v': count[21] += 1;break;
- case 'w': count[22] += 1;break;
- case 'x': count[23] += 1;break;
- case 'y': count[24] += 1;break;
- case 'z': count[25] += 1;break;
- }
- }
- insertionSort(count, 26);
- for (int i=0;i<=25;i++) cout << count[i] << endl;
- for(int j=25;count[j]!=0;j--)
- {
- beauty=beauty+count[j]*constant;
- constant--;
- }
- cout << "Case #"<< caseNo << ": " <<beauty << endl;
- caseNo++;
- }
- }
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement