FrancuzGips

Сортировка по нескольким критериям с++

19.05.2011, 00:55. Показов 3446. Ответов 0
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Задание: Строка таблицы данных содержит следующую информацию о первокурсниках: фамилия, имя, отечество, группа, количество баллов, набранных на вступительных экзаменах.

Требуется найти: перечень групп, в которых максимальное количество студентов, набравших максимальное количество баллов.
Считывание исходного файла с клавиатуры, вывод на экран.
Сортировка:
1)Сортировка групп, в которых максимальное количество студентов, набравших максимальное количество баллов, в алфавитном порядке. Вывод на экран и в файл.
2)Сортировка фамилий, имен, отчеств в алфавитном порядке.
Вывод на экран и в файл.



вот что у меня уже есть. но как сортировать по фамилии, имени, отчеству в алфавитном порядке одновременно не знаю. помогите плиз.

________________________________________ ________________________________________ _______
#include<stdio.h>
#include<conio.h>
#include<string.h>

struct student
{
int bal;//балл
int gruppa;//группа
char im[20]; //имя студента
char fam[20];//фамилия
char ot[20];//отчество
} m [100], m100[100];

void main()
{
FILE *out=fopen("D:\\a2.txt","r");
FILE *out100=fopen("D:\\100.txt","w");
int n,i,j,a;
student t;
clrscr();
printf("\nn=");
scanf("%d",&n);
for(i=0;i<n;i++)
{// ввод данных
//printf("/nVvedite imya: ");
fscanf(out,"%s",&m[i].im);
//printf("\nVvedite familiyu: ");
fscanf(out,"%s",&m[i].fam);
//printf("\nVvedite otchestvo: ");
fscanf(out,"%s",&m[i].ot);
//printf("\nVvedite nomer gruppy studenta: ");
fscanf(out,"%d",&m[i].gruppa);
//printf("\nVvedite nabranyi bal: ");
fscanf(out,"%d",&m[i].bal);
}

for(i=0;i<n;i++)
//даные о всех студентах на екран
printf("\n|%9s\t|%9s\t|%9s\t|%d\t|%d\t", m[i].im,m[i].fam,m[i].ot,m[i].gruppa,m[i].bal);


printf("\n\n");
a=0;
//сортировка по балу(вывод на екран студентов у которых бал = 100)
for(i=0;i<n;i++)
if(m[i].bal==100)
{
printf("a=%i",a);
printf("\n|%9s\t|%9s\t|%9s\t|%d\t|%d\t", m[i].im,m[i].fam,m[i].ot,m[i].gruppa,m[i].bal);

strcpy(m100[a].im,m[i].im);
strcpy(m100[a].fam,m[i].fam);
strcpy(m100[a].ot,m[i].ot);
m100[a].gruppa=m[i].gruppa;
m100[a].bal=m[i].bal;
//fprintf(out100,"\n|%9s\t|%9s\t|%9s\t|%d\ t|%d\t",m[i].im,m[i].fam,m[i].ot,m[i].gruppa,m[i].bal);
a++;
}
//сортировка студентов, у которых 100 баллов по группе/вывод на екран:
printf("\n\n");
for(i=0;i<a;i++)
for(j=0;j<a;j++)
if(m100[i].gruppa>m100[j].gruppa)
{
t=m100[i];
m100[i]=m100[j];
m100[j]=t;
}

for(i=0;i<a;i++)
printf("\n|%9s\t|%9s\t|%9s\t|%d\t|%d\t", m100[i].im,m100[i].fam,m100[i].ot,m100[i].gruppa,m100[i].bal);
//print("\n|%9s\t|%9s\t|%9s\t|%d\t|%d\t",m 100[i].im,m100[i].fam,m100[i].ot,m100[i].gruppa,m100[i].bal);



getch();
}
________________________________________ ________________________________________ _____________
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
19.05.2011, 00:55
Ответы с готовыми решениями:

Сортировка по нескольким критериям
есть данные которые находятся в public List&lt;ОбИзделии&gt; Данные { get; set; } public class ОбИзделии : Protected { ...

Сортировка по нескольким критериям с reverse
Допустим, есть список: a = Нужно отсортировать его по нескольким критериям (по убыванию приоритета): - По возрастанию первого...

Выборка по нескольким критериям
суть такова - мне нужно выбрать с базы строки которые относятся к определенной категории но они так же содержат разные темы , но эти же...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
19.05.2011, 00:55
Помогаю со студенческими работами здесь

Поиск по нескольким критериям C#
Всем привет, подскажите плиз, как реализовать поиск по нескольким критериям (т.е. чтобы можно найти человека по определенным критериям). ...

Сумма по нескольким критериям
Здравствуйте, помогите , пожалуйста, реализовать подсчет количества строк с несколькими критериями одновременно: 1. По цвету 2. Любой...

Find по нескольким критериям
Как сделать поиск методом Find объекта RecordSet не по одному, по по нескольким полям?

Отбор по нескольким критериям
в общем то есть бд связанная с машинами нужно сделать так что бы 1 мы выбирали периуд даты покупки у нас выводило несколько полей 2...

Суммирование по нескольким критериям
Здравствуйте, специалисты! Помогите, пожалуйста, с запросом. Надо одновременно просуммировать положительные и отрицательные суммы в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

Новые блоги и статьи
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru