diff --git a/du5/program.c b/du5/program.c index c5529a7..9c11e0e 100644 --- a/du5/program.c +++ b/du5/program.c @@ -1,84 +1,77 @@ #include #include #include -struct clovek -{ - int holos; +struct celovek{ + int golos; char name[60]; }; -void printAll(struct clovek clovek[50],int number_clovek){ +void printAll(struct celovek celovek[50],int number_celovek){ printf("Vysledky:\n"); - for (size_t i = 0; i < number_clovek; i++) - { - printf("%d", clovek[i].holos); - printf("%s", clovek[i].name); + for (size_t i = 0; i < number_celovek; i++){ + printf("%d", celovek[i].golos); + printf("%s", celovek[i].name); } } -void readDellSame(bool je_toiste, bool je_dobre, int* number_clovek, struct clovek clovek[50]){ - for (size_t i = 0; i >=0; i++) - { + +void readDellSame(bool odinakovyi, bool dobre, int* number_celovek, struct celovek celovek[50]){ + for (size_t i = 0; i >=0; i++){ char step_name[60]; - int step_holos =0; - int r = scanf("%d", &step_holos); - if (r == -1) - { + int step_golos =0; + int b = scanf("%d", &step_golos); + if (b == -1){ break; } - if (step_holos == 0) - { - je_dobre = true; + + if (step_golos == 0){ + dobre = true; } fgets(step_name, 60 , stdin);//prečíta riadok z terminálu - for (size_t j = 0; j <*number_clovek; j++) - { - if(strcmp (clovek[j].name, step_name)==0 && je_dobre == false ){//porovnáva struny - clovek[j].holos += step_holos; - je_toiste = true; + + for (size_t j = 0; j <*number_celovek; j++){ + if(strcmp (celovek[j].name, step_name)==0 && dobre == false ){//porovnáva struny + celovek[j].golos += step_golos; + odinakovyi = true; i--; } } - if ((je_toiste == false|| *number_clovek == 0) && je_dobre == false) - { - clovek[i].holos = step_holos; - strcpy(clovek[i].name, step_name);//strcpy-koreluje časti pamäte - *number_clovek = *number_clovek +1 ; + if ((odinakovyi == false|| *number_celovek == 0) && dobre == false){ + celovek[i].golos = step_golos; + strcpy(celovek[i].name, step_name);//strcpy-koreluje časti pamäte + *number_celovek = *number_celovek +1 ; } - je_toiste = false; + odinakovyi = false; } } -void sortMas(int number_clovek, struct clovek clovek[50]){ - for (size_t i = 0; i clovek[j].name[1]){ - int tmp = clovek[i].holos; +void sort(int number_celovek, struct celovek celovek[50]){ + for (size_t i = 0; i celovek[j].name[1]){ + int tmp = celovek[i].golos; char tmp_name[60]; - strcpy(tmp_name, clovek[i].name); + strcpy(tmp_name, celovek[i].name); - clovek[i].holos = clovek[j].holos; - strcpy(clovek[i].name, clovek[j].name); + celovek[i].golos = celovek[j].golos; + strcpy(celovek[i].name, celovek[j].name); - clovek[j].holos = tmp; - strcpy(clovek[j].name, tmp_name); + celovek[j].golos = tmp; + strcpy(celovek[j].name, tmp_name); } - if(clovek[i].name[1] == clovek[j].name[1]) - { - if(clovek[i].name[2] > clovek[j].name[2]){ - int tmp = clovek[i].holos; + + if(celovek[i].name[1] == celovek[j].name[1]){ + if(celovek[i].name[2] > celovek[j].name[2]){ + int tmp = celovek[i].golos; char tmp_name[60]; - strcpy(tmp_name, clovek[i].name); + strcpy(tmp_name, celovek[i].name); - clovek[i].holos = clovek[j].holos; - strcpy(clovek[i].name, clovek[j].name); + celovek[i].golos = celovek[j].golos; + strcpy(celovek[i].name, celovek[j].name); - clovek[j].holos = tmp; - strcpy(clovek[j].name, tmp_name); + celovek[j].golos = tmp; + strcpy(celovek[j].name, tmp_name); } } } @@ -86,32 +79,32 @@ void sortMas(int number_clovek, struct clovek clovek[50]){ } } int main(){ - struct clovek clovek[50]; - int number_clovek = 0; - bool je_toiste = false; - bool je_dobre = false; - readDellSame(je_toiste, je_dobre, &number_clovek,clovek); - for (size_t i = 0; i < number_clovek-1; i++) + struct celovek celovek[50]; + int number_celovek = 0; + bool odinakovyi = false; + bool dobre = false; + readDellSame(odinakovyi, dobre, &number_celovek,celovek); + for (size_t i = 0; i < number_celovek-1; i++) { - for (size_t j = 0; j < number_clovek - i-1; j++) + for (size_t j = 0; j < number_celovek - i-1; j++) { - if (clovek[j].holos < clovek[j+1].holos) + if (celovek[j].golos < celovek[j+1].golos) { - int tmp = clovek[j+1].holos; + int tmp = celovek[j+1].golos; char tmp_name[60]; - strcpy(tmp_name, clovek[j+1].name); + strcpy(tmp_name, celovek[j+1].name); - clovek[j+1].holos = clovek[j].holos; - strcpy(clovek[j+1].name, clovek[j].name); + celovek[j+1].golos = celovek[j].golos; + strcpy(celovek[j+1].name, celovek[j].name); - clovek[j].holos = tmp; - strcpy(clovek[j].name, tmp_name); + celovek[j].golos = tmp; + strcpy(celovek[j].name, tmp_name); } } } - sortMas(number_clovek, clovek); - printAll(clovek, number_clovek); + sort(number_celovek, celovek); + printAll(celovek, number_celovek); return 0; } \ No newline at end of file