diff --git a/du5/program.c b/du5/program.c index 6763f2c..35bc1ac 100644 --- a/du5/program.c +++ b/du5/program.c @@ -31,6 +31,7 @@ bool addPoints(struct entry* myEntries, int votes, char* name){ void bsortDesc(struct entry* list[80], int s){ int i, j; struct entry* temp; + int count = 0; for (i = 0; i < s - 1; i++) { @@ -42,10 +43,14 @@ void bsortDesc(struct entry* list[80], int s){ list[j] = list[j + 1]; list[j + 1] = temp; } - else if ((list[j]->votes == list[j + 1]->votes) && (list[j]->name[0] > list[j + 1]->name[0])){ - temp = list[j]; - list[j] = list[j + 1]; - list[j + 1] = temp; + else if (list[j]->votes == list[j + 1]->votes){ + while (list[j]->name[count] == list[j + 1]->name[count]) + count++; + if (list[j]->name[0] > list[j + 1]->name[0]){ + temp = list[j]; + list[j] = list[j + 1]; + list[j + 1] = temp; + } } } }