Tyto stránky již nejsou udržovány. Obsah je postupně přesouván/aktualizován na adrese chytrosti.marrek.cz.
1/1
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á".
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 }