From a3109874edf41a306479e2798a497be0090b0e91 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1=C5=A1=20Vl=C4=8Dek?= Date: Thu, 12 Mar 2026 02:13:06 +0000 Subject: [PATCH] Aktualizovat du2/program.c --- du2/program.c | 33 +++++++++++++++++++++++---------- 1 file changed, 23 insertions(+), 10 deletions(-) diff --git a/du2/program.c b/du2/program.c index a973150..219c26a 100644 --- a/du2/program.c +++ b/du2/program.c @@ -39,12 +39,30 @@ int main() { { if(sscanf(line, "%d %s %s", &najdPocetHlasov, najdMeno, najdPriezvisko) == 3) { + najdDuplikatIndex = -1; + + //dost neefektivny a predbezny sposob hladania duplikatov.. + for (int i = 0; i < x; i++) + { + if (strcmp(DBStudenti[i].meno, najdMeno) == 0) + { + najdDuplikatIndex = i; + break; + } + } //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; - x += 1; + // (LEN ak sscanf() najde vsetky 3 hodnoty a nebol najdeny index duplicitneho zaznamu) + if (najdDuplikatIndex < 0) + { + strcpy(DBStudenti[x].meno, najdMeno); + strcpy(DBStudenti[x].priezvisko, najdPriezvisko); + DBStudenti[x].pocetHlasov = najdPocetHlasov; + x += 1; + } + else + { + DBStudenti[x].pocetHlasov += najdPocetHlasov; + } //(pravdepodobne redundantne) reset nacitanych hodnot na konci kazdeho cyklu // memset(najdMeno, 0, SIZE); @@ -65,11 +83,6 @@ 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);