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á".

20110107-Fri-prave-dvakrat.c
   1 /*
   2  * Soubor:  20110107-Fri-prave-dvakrat.c
   3  * Datum:   07.01.2011 09:02
   4  * Autor:   Marek Nožka, nozka <@t> spseol <d.t> cz
   5  * Licence: GNU/GPL 
   6  * Úloha: 
   7  * Popis:   
   8  ****************************************************/
   9 #include <stdio.h>
  10 #include <stdlib.h>
  11 #include <stdbool.h>
  12 
  13 /* ***************    Makra    ******************** */
  14 #define ARREYC 20
  15 
  16 /* ***************   Funkce    ******************** */
  17 
  18 int pole[ARREYC];
  19 int hotovo[ARREYC];
  20 int hotovop; //počet prvku uložených v hotovo 
  21 
  22 /* funkce přidá do pole hotovo prvek */
  23 void pridej(int prvek)
  24 {
  25     hotovo[hotovop] = prvek;
  26     hotovop++;
  27 }
  28 
  29 /* funkce kontroluje zda pole hotovo obsahuje prvek 
  30  * pokud prvek v poli je vrací funkce 1 (true)  */
  31 int kontroluj(int prvek)
  32 {
  33     for (int i=0; i<hotovop ;i++) {
  34         if ( hotovo[i] == prvek ) {
  35             /* hurá našel jsem, okamžitě končím */
  36             return 1;
  37         }
  38     }
  39     /* pršel jsem pole a nic jsem nenašel */
  40     return 0;
  41 }
  42 
  43 
  44 /****************************************************
  45  *               Hlavní program.
  46  ****************************************************/
  47 int main(void) {
  48     
  49     hotovop=0;
  50 
  51     /* generování náhodných čísel */
  52     for (int i=0; i<ARREYC; i++) {
  53         pole[i]= rand() % 20;
  54     }
  55 
  56     /* počítámčísla */
  57     for (int i=0; i<ARREYC; i++) {
  58         /* kontrola jestli číslo už nebylo počítáno */
  59         if (  ) {
  60             continue; //přeskočí zbytek těla a pokračuje další obrátkou cyklu
  61         }
  62         
  63         /* počítání prvku */
  64 
  65         /* zapamatuji si, že tento prvek už jsem počítal */
  66         pridej(pole[i]);
  67     }
  68 
  69 
  70     return 0;
  71 }
`--> stáhnout

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