Zliczacz liter
Kod był wyświetlany 2902 razy.
    /*
 Name: Zliczacz liter
Copyright: GPL GNU
Author: Przemyslaw Sierocinski
Date:01-03-09 12:52
  Description: TREŚĆ ZADANIA
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.
               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 wierszach 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
*/

#include <iostream>
#include <string>

using namespace std;

int main()
{
    string t;                            // łańcuch przechowujący tekst do analizy

    int i;                               // zmienna służąca do uruchomienia pętli
    int j;                               // zmienna służąca do uruchomienia pętli

    int tab[52];                         // tablica przechowująca ilość poszczególnych liter

    int N;                               // zmienna służąca do wprowadzenia przez użytkownika ilości wierszy

   cout<<"\n\n\tPodaj liczbe wierszy z tekstem: ";
    do
    cin >> N;                            // wprowadzanie przez użytkownika ilości wierszy
    while(N>150);                        // zabezpieczenie przed wprowadzeniem liczby większej niż 150

    for(i=0; i<52; i++)
    {
            tab[i]=0;                    // zerowanie tablicy 'tab'
    }

    cout<<"\n\n\tPodaj tekst:\n\n";
    for(i=0; i<=N; i++)
    {
            getline(cin, t);             // wprowadzanie przez użytkownika N wierszy tekstu

            for(j=0; j<t.size(); j++)
            {
                    if((t[j]>=97)&&(t[j]<=122))          // zliczanie poszczególnych liter i zapisywanie ich ilości
                    tab[t[j]-97]++;
                    else
                    tab[t[j]-39]++;
            }
    }

    for(i=0; i<52; i++)
    {
            if(tab[i]>0)
            {
                        if(i<26)                                                     // wyświetlanie wyniku
                        cout << endl << (char)(i+97) << " " << tab[i];
                        else
                        cout << endl << (char)(i+39) << " " << tab[i];
            }
    }

cin.ignore();
getchar();
return 0;
}
    
Pobierz plik tekstowy
Załączniki
Administrator WJL
PHP&SQL coded by NOVA-IT