/*
 * Soubor:  
 * Datum:   2010/10/22
 * Autor:   Marek Nožka, nozka z@vináč spseol tečka cz
 * Licence: GNU/GPL 
 * Úloha:   Počet jednotlivých znaků
 * Popis:   Počítá počty výskytů alfanumerických znaků 
 *          a znázorňuje je v grafu.
 */

#include <stdio.h>

char upCase(char z)
{
    if (z >= 'a' && z <= 'z') {
        z = z - ('a' - 'A');
    }
    return z;
}

/////////////////////////////////////////////////////
#define PPISMEN 'Z'-'A'+1
/**
 * Hlavní program.
 */
int main(void)
{
    long int pocetZ[PPISMEN];
    int znak;
    long int nej;

    for (int i = 0; i < PPISMEN; i++) {
        pocetZ[i] = 0;
    }
    while ((znak = getchar()) != EOF) {
        znak = upCase(znak);
        if (znak >= 'A' && znak <= 'Z') {
            pocetZ[znak - 'A']++;
        }
    }
    nej = pocetZ[0];
    for (int i = 1; i < PPISMEN; i++) {
        if (pocetZ[i] > nej) {
            nej = pocetZ[i];
        }
    }
    printf("Nej: %ld\n", nej);
    for (int i = 0; i < PPISMEN; i++) {
        printf("%c: %6ld\n", i + 'A', pocetZ[i]);
    }
    return 0;
}

