Tyto stránky již nejsou udržovány. Obsah je postupně přesouván/aktualizován na adrese chytrosti.marrek.cz.

1/1

Zdrojové soubory z výuky

Na této stránce jsou k dispozici zdrojové soubory, které jsem vytvářel při výkladu během výuky. Nejsou to ukázkové a bezchybné zdrojové soubory. Ba naopak, jsou to pracovní neučesané verze, které vznikaly interaktivně ve výuce, často s cílem ukázat, že "takto se to nemá".

20101108-Mon-pocty-pismen.c
   1 /*
   2  * Soubor:  20101108-Mon-pocty-pismen.c
   3  * Datum:   08.11.2010 10:05
   4  * Autor:   Marek Nožka, nozka z@vináč spseol tečka cz
   5  * Licence: GNU/GPL 
   6  * Úloha:   počítat výskyty jednotlivých písmen v textu.
   7  * Popis:   
   8  */
   9 
  10 #include <stdio.h>
  11 
  12 /////////////////////////////////////////////////////
  13 #define POCET 'Z'-'A'+1  // počet písmen v abcedě
  14 
  15 /*
  16  * Funkce pro převod malých písmen na velká
  17  */
  18 int na_velka_pismena(int c) {
  19     if ( c >= 'a' && c<= 'z') {
  20         return c - ('a'-'A');
  21     } else {
  22         return c;
  23     }
  24 }
  25 
  26 /**
  27  * Hlavní program.
  28  */
  29 int main(void) {
  30     int ppismen[POCET];
  31 
  32     /* inicializace pole*/
  33     for (int i=0;i<POCET;i++) {
  34         ppismen[i] = 0;
  35     }
  36     int znak;
  37     while ( (znak = getchar() ) != EOF) {
  38         znak = na_velka_pismena(znak);
  39         if ( znak >= 'A' && znak <='Z' ) {
  40             ppismen[znak - 'A']++;
  41         }
  42     }
  43     /* výpis pole na obrazovku*/
  44     for (int i=0;i<POCET;i++) {
  45         printf("%c:%d\n",'A'+i,ppismen[i]);
  46     }
  47 
  48     /* hledání prvku s maximální četností*/
  49     int max=0;  // index nejčetnějšího písmene
  50     for (int i=1;i<POCET;i++) {
  51         if ( ppismen[i] > ppismen[max] ) {
  52             max = i;
  53         }
  54     }
  55     printf("Nejčetnější je %c s četností %d\n",'A'+max,ppismen[max]);
  56     return 0;
  57 }
`--> stáhnout

Licence Creative Commons Valid XHTML 1.0 Strict Valid CSS! Antispam.er.cz Blog: Tlapicka.net