С++ Сортировка одномерного массива по алфавиту

компьютеры программирование С++

есть программа
-----------------------------
void RGR()
{
struct Student
{
int name[15];
int group;
int ocenki[5];
};

Student array[2],x,trash;
int i, j, N[2],k,k2,l;
float m;
for(i=0; i<2; i++)
{
printf ("\n\nEnter the student name... ");
scanf ("%s",&array[i].name);
printf ("\nEnter the number of his group... ");
scanf ("%d",&array[i].group);
for(j=0; j<5; j++)
{
printf ("\nEnter the %d mark... ",j+1);
scanf ("%d",&array[i].ocenki[j]);
}
}


for(i = 0; i < 2; i++)
{

printf ( "\n --| Student: %s, Group: %d |--\n" , array[i].name , array[i].group);

for(j=0; j<5; j++)
{
printf ("Ocenka #%d: %d \n", j+1, array[i].ocenki[j]);
}
}
}
---------------------------
помогите сделать сортировку выводимых результатов по алфавиту (по Фамилии)

Примечание:
// вид сортировки роли не играет) главно чтобы не слишком мудрено)
Ответы:
Используй встроенную сортировку, самый быстрый способ и самый короткий в плане текста :)
qsort (s, strlen(s), sizeof(char), (int (*)(const void *,const  void *))strcmp); это quicksort встроенный
s - стока типа char*
(int (*)(const void *,const  void *))strcmp - это приведения типов, что бы сортировка была по Алфавиту.
В гугле много инфы про эту сортировку, почитай. :)
простейший алгоритм - пузырьковый. итеративно перебираешь пары "элемент[N], элемент[N+1]" если они не в том порядке, в каком надо, то меняешь их местами. наверно, самый медленный и самый линейный алгоритм...


14 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.