Я использовал строковый поток для чтения входного файла с 10 строками и сохранил все значения в отдельных массивах.ID, первый, последний, город, штат и средний балл.Выглядело это так.
1 Натан Хамфери Канзас МО 3.35
2 Сара Джонатан ЛисСаммит МО 3.56
3 Кайла Джеймс Либерти КС 3.78
4 Кайл Дэвис Индепенденс КС 2.98
...
8 Даниэль Эрла Независимость KS 3.77
Таким образом, массив идентификаторов будет {1, 2, 3, 4, ..., 8}
имассив города будет {Канзас, LeesSummit, Свобода, Независимость, ..., Независимость}
Одна из функций в моей программе должна распечатывать информацию, отсортированную по городам.
Я использовал алгоритм сортировки выбора, чтобы отсортировать массив городов, чтобы расположить их в правильном алфавитном порядке.Но теперь я не уверен, как правильно отсортировать другие массивы в соответствии с информацией, которая была в массиве города.Можно ли что-то добавить в функцию SelectionSort, которая бы соответствовала изменениям, произошедшим в массиве city, с другими массивами?Нужно ли мне даже сортировать каждый массив или есть более простой способ, который мне просто не хватает?
Я пока не могу использовать такие вещи, как "#include алгоритм" и "сортировка ()", иЯ также использую пространство имен std.
void SelectionSort(string city[], int size)
{
int i;
int j;
int indexSmallest;
string temp;
for (i = 0; i < size; ++i)
{
indexSmallest = i;
for (j = i + 1; j < size; ++j)
{
if (city[j] < city[indexSmallest])
{
indexSmallest = j;
}
}
temp = city[i];
city[i] = city[indexSmallest];
city[indexSmallest] = temp;
}
}
Вывод должен выглядеть примерно так.
4 Независимость Кайла Дэвиса, KS 2.98
8 Независимость Даниила Эрла, KS 3.77
1 Натан Хамфери, Канзас, MO 3.35
2 Сара Джонатан Лис, Саммит, MO 3.56
3 Kayla James Liberty KS3.78