Aktualizovat „du5/program.c“

This commit is contained in:
Bohdan Yanchyk 2020-04-09 22:58:14 +00:00
parent 2e4df70c5d
commit 5be95e0e42

View File

@ -21,7 +21,7 @@ int comp(const void *p1, const void *p2){
struct person* person1 = (struct person*)p1; struct person* person1 = (struct person*)p1;
struct person* person2 = (struct person*)p2; struct person* person2 = (struct person*)p2;
return strcmp(person1->name, person2->name); return strcmp(person1->name, person2->name)>0;
} }
int comp_num(const void *p1, const void *p2){ int comp_num(const void *p1, const void *p2){
@ -49,31 +49,38 @@ int main(){
} }
if(c>2){ if(c>2){
qsort(PersonList,c,sizeof(struct person),comp); qsort(PersonList,c,sizeof(struct person),comp);
int res_strcmp=0; int res_strcmp=0;
int idex = 0; int idex = 0;
for(int i =0;i<c;i++){ for(int i =0;i<c;i++){
for(int j = i+1;j<c;j++){ res_strcmp = strcmp(PersonList[i].name,PersonList[i+1].name);
res_strcmp = strcmp(PersonList[i].name,PersonList[j].name); if(res_strcmp==0){
if(res_strcmp==0){ PersonList[i-idex].score += PersonList[i+1].score;
PersonList[i-idex].score += PersonList[i+1].score; idex++;
idex++; }
c--; else{
for (int j=i+1; j<c; j++){ idex=0;
PersonList[j] = PersonList[j+1]; }
}
}
else{
idex=0;
}
}
}
} }
}
//int flag=0;
qsort(PersonList,c,sizeof(struct person),comp_num); qsort(PersonList,c,sizeof(struct person),comp_num);
int k =0;
for(int i =0;i<c-1;i++){
for(int j=i+1;j<c-1-i;j++){
if(strcmp(PersonList[i].name,PersonList[j].name)==0&&PersonList[i].score>PersonList[j].score){
struct person temp = PersonList[j];
PersonList[j] = PersonList[j+1];
PersonList[j+1]=temp;
c--;
}
}
}
printf("Vysledky:\n"); printf("Vysledky:\n");