Ошибка сортировки выбора с 3 параллельными массивами в переполнении стека

Я использую 3 параллельных массива и использую сортировку выбора, то есть сортировку по милям в порядке убывания. Он сортируется в порядке убывания, но когда, например, я ввожу данные во входной файл следующим образом:

  • NC 33,9 5
  • VA 22,2 0
  • и т.п.

Затем программа дважды напечатает данные «VA» и не отобразит данные «NC».
Параллельные массивы не моя идея, ни сортировка выбора. Они обязательны. пожалуйста помоги

void sortEntries( string initials[], double miles[], int shelters[] )
{
int top, bottom, i, n;;
string tempInitials;
double tempMiles;
int tempShelters;

//Selection sorting for initials[]
n = 14;
for( top = 0; top < MAX_ENTRIES - 1; top++ )
{
tempInitials = initials[smallest];
tempMiles = miles[smallest];
tempShelters = shelters[smalles];
smallest = top;
//Locate smallest number between 1 and MAX_ENTRIES(14)
for ( i = top; i < MAX_ENTRIES; i++ )
{
if ( initials[i] < tempMiles )
{
tempInitials = initials[i];
tempMiles = miles[i];
tempShelters = shelters[i];
smallest = i;
}
}
initials[top] = initials[smallest];
miles[top] = miles[smallest];
shelters[top] = shelters[smallest];
initials[smallest] = tempInitials;
miles[smallest] = tempMiles;
shelters[smallest] = tempShelters;
}

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]