Итак, у меня есть два массива. один с именами игроков и другие с их баллы. Пример:сортировка имен и оценок
Array 1: [0] - John | [1] - Мэри | [2] - Николас | [3] - Thomas
Array 2: [0] - 20 | [1] - 5 | [2] - 29 | [3] - 26
Что я пытаюсь сделать, так это отсортировать оба этих массива с помощью метода quicksort и кода ниже.
void quick_sort(int arr[4],char arr2[4][20],int low,int high)
{
int pivot,j,temp,i;
char *temp2;
if(low<high)
{
pivot = low;
i = low;
j = high;
while(i<j)
{
while((arr[i]<=arr[pivot])&&(i<high))
{
i++;
}
while(arr[j]>arr[pivot])
{
j--;
}
if(i<j)
{
temp=arr[i];
temp2=arr2[i];
arr[i]=arr[j];
strcpy(arr2[i], arr2[j]);
arr[j]=temp;
strcpy(arr2[i], temp2);
}
}
temp=arr[pivot];
temp2=arr2[pivot];
arr[pivot]=arr[j];
strcpy(arr2[pivot], arr2[j]);
arr[j]=temp;
strcpy(arr2[j], temp2);
quick_sort(arr,arr2,low,j-1);
quick_sort(arr,arr2,j+1,high);
}
}
После этого, когда я PRINTF массивы вместо того, чтобы дать мне это (то, что я хотел):
- Мэри - 5 баллов
- John - 20 баллов
- Томас - 26 очков
- Николай - 29 очков
он выводит меня это :
- Джон - 5 баллов
- Джон - 20 очков
- Николай - 26 очков
- Николай - 29 очков
Я смотрел на код и я не могу найти проблема. У кого-нибудь из вас есть какие-то предложения? Мне нужно доставить это до полуночи
EDIT: мне был предоставлен мой учитель код для сортировки результатов в массиве, но также дал нам еще один массив с именами игроков, он уже сортировал оценки, и она сказал нам, чтобы он работал для имен, а также то, что я не могу получить на работу
Не стоит так долго задавать вопросы. Вы не очень хорошо объясняете это. Вы дали нам свой результат, но никогда не говорили, что вы на самом деле делаете с кодом. Вам нужно делать это, как идиот, и использовать два массива, или вы можете использовать такие объекты, как вы должны? Является ли это окончательной проблемой для класса, если да, то в чем проблема? – blackops
Мне дал мой учитель код для сортировки результатов в массиве, но также дал нам еще один массив с именами игроков, он уже сортировал оценки, и она сказала нам, чтобы он работал для имен, а также, thats, что я не могу получить на работу – aconstancio
ну, я просто решил его, используя массив структуры. благодарю вас всех за ваши ответы и усилия, чтобы помочь. хотя некоторые из вас были довольно грубы. – aconstancio