From 486e39312150e9bfb4b6e1fab26d8b8271f51810 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kamil=20Gejdo=C5=A1?= Date: Wed, 11 Mar 2026 12:30:17 +0000 Subject: [PATCH] i need a break / hotove pridavanie studentov do struktury asi --- du2/program.c | 30 +++++++++++++++++++++++++++--- 1 file changed, 27 insertions(+), 3 deletions(-) diff --git a/du2/program.c b/du2/program.c index cb4b68b..5b72ead 100644 --- a/du2/program.c +++ b/du2/program.c @@ -1,4 +1,6 @@ #include +#include +#include #define SIZE 100 @@ -9,11 +11,33 @@ struct student { int main() { -//pomocne +//premenne + struct student studenti[SIZE]; + int hlasy = 0; + int existuje = 0; + char vstup[LINE_SIZE]; + char name[LINE_SIZE]; + int velkost_zoznamu = 0; //pocet studentov -//citat input, kontrola ci existuje, pridat hlasy existujucemu zaznamu + while (fgets (vstup, LINE_SIZE, stdin) != NULL) { + //citat input, kontrola ci existuje, pridat hlasy existujucemu zaznamu + if (sscanf(vstup, "%d %[^\n]", &hlasy, name) != 2) break; + existuje = 0; + for (int i = 0; i < velkost_zoznamu; i++) { + if (strcmp (name, studenti[i].name) == 0) { + existuje = 1; + studenti[i].votes += hlasy; + break; + } + } + if (!existuje) { + strcpy (studenti[velkost_zoznamu].name, name); + studenti[velkost_zoznamu].votes = hlasy; + velkost_zoznamu++; + } + } -//zoradit podla poctu hlasov, potom zoradit skupiny podla mena ak sa najde skupina viacerych s rovnakym poctom hlasov +//zoradit abecedne, potom zoradit mena podla poctov hlasov, poposuvat cisla hore //vystup vo formate printf("Vysledky:\n"); for i=0 to pocet_studentov printf("%d %c\n"student[i].votes, student[i].name[j]);