Koło Młodych Miłośników Łamania Szyfrów pracuje nad oprogramowaniem służącym do odszyfrowania pewnego starożytnego manuskryptu. Jądrem systemu zostanie samouczący się analizator tekstu, a jego pierwszym modułem "zliczacz liter", którego opracowanie powierzono Tobie.
Zadanie
Opracuj program, który: wczyta ze standardowego wejścia tekst do analizy, dla każdej litery obliczy liczbę jej wystąpień w tekście, wypisze wynik na standardowe wyjście.
Wejście
W pierwszym wierszu wejścia znajduje się liczba N, oznaczająca liczbę wierszy tekstu do analizy N<=150. W każdym z następujących N znajduje się ciąg złożony z maksymalnie 200 znaków spośród małych i wielkich liter alfabetu łacińskiego ('a'..'z', 'A'..'Z') oraz spacji.
Wyjście
W kolejnych wierszach należy wypisywać litery od 'a' do 'z' i od 'A' do 'Z' (w tej kolejności), pojedynczą spację oraz liczbę oznaczającą ilość wystąpień tej litery w analizowanym tekście. Litery nie występujące w tekście należy pominąć.
Przykład
Dla danych wejściowych:
2 ala ma kota Ola ma psa
poprawną odpowiedzią jest:
a 7 k 1 l 2 m 2 o 1 p 1 s 1 t 1 O 1
dziabdziab
#include <iostream> #include <string> using namespace std;
#include <string>
using namespace std;
string napis;
int main()
{
int N,i,l_z=52,zn[l_z];
cin>>N;
for(i=0;i<l_z;i++) zn[i]=0;
for(int j=0;j<=N;j++)
{
getline(cin,napis);
for(i=0;i<napis.size();i++)
{
if( static_cast<int>(napis[i]>=65) && static_cast<int>(napis[i]<=90) ) zn[static_cast<int>(napis[i]-39)]++;
else if(static_cast<int>(napis[i]>=97) && static_cast<int>(napis[i]<=122) ) zn[static_cast<int>(napis[i]-97)]++;
else continue;
}
}
for(i=0;i<l_z;i++)
{
if(zn[i]!=0)
{
if(i<26) cout << "\n" << (char)(i+97) << "\t" << zn[i];
else cout << "\n" << (char)(i+39) << "\t" << zn[i];
}
}
}