Я пытаюсь сортировать 2D-массив имен в алфавитном порядке, но я не могу шов, чтобы заставить его работать.Сортировка двумерного массива символов в альфа-порядке?
Я использую сортировку пузырьков на буквах, и это сортирует первую букву имен отлично, но 3 названия начинаются с одной буквы, и они все еще не в порядке.
Я попытался googleing и материал, но каждый тин говорит использовать векторы или строковые переменные .. но я ограничен использованием 2d массивы символов ..
Есть идеи?
Вот код, у меня есть на данный момент, который работает почти:
using namespace std;
int main(){
char heroes[11][17] = { "Captain America", "Thor", "Wolverine", "Cyclops", "Goliath", "Beast", "Angel", "Colossus", "Hulk", "Quicksilver", "Ironman"};
cout<<"Printing the array as is"<<endl<<endl;
for (int i=0; i<12; i++){
cout<<heroes[i]<<endl;
}
cout<<endl<<"Ordering the heroes in Alphabetical order"<<endl<<endl;
char temp = NULL;
// bubble sort
for(int i=0;i<11;i++){
for(int j=0; j<(11-1); j++){
if (heroes[i][0] < heroes[j][0]){
for (int k=0; k<17-1; k++){
swap(heroes[i][k], heroes[j][k]);
}
}
}
}
cout<<"Printing the array Sorted"<<endl<<endl;
for (int i=0; i<12; i++){
cout<<heroes[i]<<endl;
}
// Pause
cout<<endl<<endl<<endl<<"Please Close Console Window"<<endl;
cin.ignore('\n', 1024);
return(0);
}
Ok я получил это сработало !!!
Вот код ... (как я после кода на этой форме кстати?)
Это почти точно Teh же, но с использованием полного сравнения строк и копий.
Вы позволили использовать 'strcmp'? –