From 5b737476c2b5cab2f8741388aea8ba80d9ad482e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1=C5=A1=20Vl=C4=8Dek?= Date: Thu, 12 Mar 2026 01:45:49 +0000 Subject: [PATCH] Aktualizovat du2/program.c --- du2/program.c | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/du2/program.c b/du2/program.c index f2984a7..3d0b5b0 100644 --- a/du2/program.c +++ b/du2/program.c @@ -24,6 +24,9 @@ int main() { char najdMeno [32]; char najdPriezvisko [32]; int najdPocetHlasov = 0; + int x = 0; + char posledneMeno[SIZE]; + posledneMeno[0] = '\0'; //array instancii struktur studentov struct student DBStudenti[20]; @@ -31,8 +34,6 @@ int main() { //prednastavenie pamati memset(DBStudenti, 0, sizeof(DBStudenti)); - //pomocny index - int x = 0; //spracovanie inputu, vycitavanie najdenych mien a najdenych poctov hlasov z retazca //bude citat dovtedy, pokial nedosiahne limit studentDB array-u (20 prvkov max) alebo fgets() sa nedostane na koniec suboru @@ -40,7 +41,8 @@ int main() { { if(sscanf(line, "%d %s %s", &najdPocetHlasov, najdMeno, najdPriezvisko) == 3) { - //prekopiruje najdene priezviska (LEN ak sscanf() najde vsetky 3 hodnoty) + //prekopiruje udaje najdeneho zaznamu do DB + // (LEN ak sscanf() najde vsetky 3 hodnoty) strcpy(DBStudenti[x].meno, najdMeno); strcpy(DBStudenti[x].priezvisko, najdPriezvisko); DBStudenti[x].pocetHlasov = najdPocetHlasov; @@ -65,6 +67,11 @@ int main() { { break; } + //vynechaj rovnake predosle zaznamy + if (strcmp(DBStudenti[i].meno, DBStudenti[i-1].meno) == 0) + { + continue; + } //malo by vypisovat zaznamy takto: //10_Tomas_Vlcek printf("%d %s %s\n", DBStudenti[i].pocetHlasov, DBStudenti[i].meno, DBStudenti[i].priezvisko); @@ -79,14 +86,9 @@ int main() { struct student *s1 = (struct student *)p1; struct student *s2 = (struct student *)p2; - if (s1->meno == s2->meno) - { - //vrat len jeden zaznam, AK sa rovnaju - return s1->meno; - } if (s1->pocetHlasov == s2->pocetHlasov) { - //vrati lexikograficky zorad. instancie v poli (podla mena, NIE priezviska) + //vrati lexikograficky zoradene instancie v poli (podla mena, NIE priezviska) return strcmp(s1->meno, s2->meno); }