diff --git a/du2/program b/du2/program new file mode 100755 index 0000000..fafde38 Binary files /dev/null and b/du2/program differ diff --git a/du2/program.c b/du2/program.c new file mode 100644 index 0000000..bda91d8 --- /dev/null +++ b/du2/program.c @@ -0,0 +1,37 @@ +#include //pripojím si potrebné knižnice +#include + +#define VELKOST_POLA 50 //zadefinujem si veľkosť poľa platnú pre celý program + +int main() { + int pocetPoharov[VELKOST_POLA]; //zadeklarujem pole veľké ako počet súťažiacich + memset(pocetPoharov, -1, VELKOST_POLA * sizeof(int)); //všetky pozície v poli nainicializujem na 0 + + int vstupnaHodnota = 0, stav_scanf = 0, i = 0, uspesneNacitane = 0, najlepsiVysledok = 0; //zadeklarujem a nainicializujem potrebné premenné + + while (1) { //v cykle priradím počet vypitých pohárov limonády jednotlivýcm súťažiacim + if (uspesneNacitane == VELKOST_POLA) break; //ak som načítal taký počet hodnôt, aké veľké je pole, tak vyskočím z cyklu + stav_scanf = scanf(" %d", &vstupnaHodnota); //pomocou premennej stav_scanf skontrolujem, či som načítal číslo väčšie ako 1 + if (stav_scanf != 1 || vstupnaHodnota <= 0 || stav_scanf == EOF) { //ak načítam inú, než želanú hodnotu, tak činnosť programu ukončím a vypíšem potrebné hlásenia + if (uspesneNacitane == 0) { //ak nenačítam ani jednu hodnotu, + printf("Chyba: Málo platných hodnôt.\n"); //tak vypíšem chybové hlásenie + return 0; //a program ukončím + } + + break; //ak iba zlyhá načítavanie hodnôt počas behu programu, tak + } + + pocetPoharov[i] = vstupnaHodnota; //počet vypitých pohárov priradím konkretnému súťažiacemu + i++; + uspesneNacitane++; //každú úspešne započítanú hodnotu + if (vstupnaHodnota > najlepsiVysledok ) najlepsiVysledok = vstupnaHodnota; //ak súťažiacu vypil viac pohárov, ako jeho predchádzajúci súperi, tak zmením najlepší dosiahnutý výsledok + } + + for (i = 0; i < uspesneNacitane; i++) printf("Súťažiaci č. %d vypil %d pohárov.\n", i + 1, pocetPoharov[i]); //vypíšem, koľko pohárov vypil každý zo súťažiacich + + for (i = 0; i < uspesneNacitane; i++) { + if (pocetPoharov[i] == najlepsiVysledok) printf("Výherca je súťažiaci %d ktorý vypil %d pohárov.\n", i + 1, najlepsiVysledok); //vypíšem všetkých súťažiacich, ktorý vypili najviac pohárov + } + + return 0; +} diff --git a/du2/test b/du2/test new file mode 100755 index 0000000..cafb922 Binary files /dev/null and b/du2/test differ diff --git a/du2/test.c b/du2/test.c new file mode 100644 index 0000000..1fd9ab1 --- /dev/null +++ b/du2/test.c @@ -0,0 +1,10 @@ +#include + +int main() { + int cislo; + int stav_scanf = scanf("%d", &cislo); + + printf("Stav scanf: %d \t Zadane cislo: %d \n", stav_scanf, cislo); + + return 0; +}