Update 'du5/ program.c'

This commit is contained in:
Anzhelika Nikolaieva 2023-03-24 13:37:09 +00:00
parent d522e28989
commit f9baf88c27

View File

@ -18,39 +18,39 @@ void printAll(struct celovek celovek[50],int number_celovek){ //funkci
void readDellSame(bool odinakovyi, bool dobre, int* number_celovek, struct celovek celovek[50]){ //funkcia na čítanie a mazanie duplicitných záznamov z poľa 'celovek' void readDellSame(bool odinakovyi, bool dobre, int* number_celovek, struct celovek celovek[50]){ //funkcia na čítanie a mazanie duplicitných záznamov z poľa 'celovek'
for (size_t i = 0; i >=0; i++) for (size_t i = 0; i >=0; i++)
{ {
char step.name[60]; char step_name[60];
int step.golos =0; int step_golos =0;
int b = scanf("%d", &step.golos); int b = scanf("%d", &step_golos);
if (b == -1){ if (b == -1){
break; break;
} }
if (step.golos == 0){ if (step_golos == 0){
dobre = true; dobre = true;
} }
fgets(step.name, 60 , stdin); //prečítať riadok z stdin fgets(step_name, 60 , stdin); //prečítať riadok z stdin
for (size_t j = 0; j <*number_celovek; j++){ for (size_t j = 0; j <*number_celovek; j++){
if(strcmp (celovek[j].name, step.name)==0 && dobre == false ){ //porovnať reťazce if(strcmp (celovek[j].name, step_name)==0 && dobre == false ){ //porovnať reťazce
celovek[j].golos += step.golos; celovek[j].golos += step_golos;
odinakovyi = true; odinakovyi = true;
i--; i--;
} }
} }
if ((odinakovyi == false|| *number.celovek == 0) && dobre == false) if ((odinakovyi == false|| *number_celovek == 0) && dobre == false)
{ {
clovek[i].holos = step_holos; celovek[i].golos = step_golos;
strcpy(celovek[i].name, step.name); //strcpy - oblasti pamäte kopírovania strcpy(celovek[i].name, step_name); //strcpy - oblasti pamäte kopírovania
*number.celovek = *number.celovek +1 ; *number_celovek = *number_celovek +1 ;
} }
odinakovyi = false; odinakovyi = false;
} }
} }
void sort(int number.celovek, struct celovek celovek[50]){ //funkcia na triedenie poľa 'celovek' na základe počtu 'golov' a 'name' void sort(int number_celovek, struct celovek celovek[50]){ //funkcia na triedenie poľa 'celovek' na základe počtu 'golov' a 'name'
for (size_t i = 0; i <number.celovek; i++){ for (size_t i = 0; i <number_celovek; i++){
for (size_t j = i; j < number.celovek; j++){ for (size_t j = i; j < number_celovek; j++){
if (celovek[i].golos == clovek[j].golos){ if (celovek[i].golos == clovek[j].golos){
@ -86,12 +86,12 @@ void sort(int number.celovek, struct celovek celovek[50]){ //funkcia na
int main(){ int main(){
struct celovek celovek[50]; struct celovek celovek[50];
int number.celovek = 0; int number_celovek = 0;
bool odinakovyi = false; bool odinakovyi = false;
bool dobre = false; bool dobre = false;
readDellSame(odinakovyi, dobre, &number.celovek,celovek); readDellSame(odinakovyi, dobre, &number_celovek_celovek);
for (size_t i = 0; i < number.celovek-1; i++){ 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_clovek - i-1; j++){
if (celovek[j].golos < celovek[j+1].golos){ if (celovek[j].golos < celovek[j+1].golos){
int tmp = celovek[j+1].golos; int tmp = celovek[j+1].golos;
@ -108,7 +108,7 @@ int main(){
} }
} }
sort(number.celovek, celovek); sort(number_celovek, celovek);
printAll(celovek, number.celovek); printAll(celovek, number_celovek);
return 0; return 0;
} }