Я пытаюсь отсортировать имена в алфавитном порядке например, если пользователь вводит имена и ГПД:Сортировать имена по алфавиту
Names GPA
Peter 2.8
Robert 5.6
David 7.8
Вывод должен быть: -
Names GPA
David 7.8
Peter 2.8
Robert 5.6
Вот моя программа до сих пор (НЕПОЛНАЯ): -
#include <iostream>
using namespace std;
int main()
{
char name [5][25];
float gpa [5];
int i;
for (i=0 ; i<5 ; i++)
{
cout << "Enter name " << i+1 << " : ";
cin >> name [i];
cout << "Enter GPA : ";
cin >> gpa [i];
cout << endl;
}
cout << "\n********** Your entered data **********\n\n";
cout << "\tName" << "\t\t" << "GPA\n\n";
for (i=0 ; i<5 ; i++)
{
cout << "\t" << name [i] << "\t\t" << gpa [i];
cout << endl;
}
for (i=0 ; i<5 ; i++)
{
for (int j=0 ; j<1 ; j++)
{
cout << (int) name [i][j] << endl;
}
}
cout << "\n\n******* Sorted data (w.r.t name) *******\n\n";
cout << "\tName" << "\t\t" << "GPA\n\n";
for (i=0 ; i<5 ; i++)
{
cout << "\t" << name [i] << "\t\t" << gpa [i];
cout << endl;
}
cout << endl;
return 0;
}
Помните, что только на меня следует сортировать в алфавитном порядке. Я взял значения ASCII первых символов введенных имен в середине цикла for
, но: - 1- Код ASCII для 's' не совпадает с 'S' (для меня это проблема) 2- Я могу Казалось бы, создать логику для сравнения значений ASCII первых букв имен, а затем отсортировать их соответственно. Затем, связывая имя с отсортированным списком букв и отображая результат. Также GPA должен быть связан с именами.
Любая помощь будет оценена по достоинству.
http://en.cppreference.com/w/cpp/algorithm/sort – Caesar