domaca_uloha_2
This commit is contained in:
parent
87eb701ddd
commit
329fac5f3d
BIN
du2/program
Executable file
BIN
du2/program
Executable file
Binary file not shown.
37
du2/program.c
Normal file
37
du2/program.c
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
#include <stdio.h> //pripojím si potrebné knižnice
|
||||||
|
#include <string.h>
|
||||||
|
|
||||||
|
#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;
|
||||||
|
}
|
10
du2/test.c
Normal file
10
du2/test.c
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
#include <stdio.h>
|
||||||
|
|
||||||
|
int main() {
|
||||||
|
int cislo;
|
||||||
|
int stav_scanf = scanf("%d", &cislo);
|
||||||
|
|
||||||
|
printf("Stav scanf: %d \t Zadane cislo: %d \n", stav_scanf, cislo);
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user