0 / 0 / 0
Регистрация: 13.12.2019
Сообщений: 2
|
|
Сортировка структур13.12.2019, 22:26. Показов 527. Ответов 3
Метки нет Все метки)
(
Нужно упорядочить список по среднему баллу аттестата. С помощью пузырькового метода сортирую по возрастанию средний бал, но фамилия и место жительство нет понятия как привязать к сортировке
#include <iostream> #include <iomanip> #include <cstring> using namespace std; int main ( ) { setlocale( LC_ALL,"Russian" ); const int countMax=25; typedef enum {home,dormitory,rented} Tplace; struct Trat { float grade; }; struct Tstud { char surname[16]; Tplace place; Trat rating; }; Tstud gruppa [countMax]; char *placestr[16] = {"дома" , "общежитие" , "жильё"}; int countStud, Num; int numPlace; int i; cout << " Число студентов (до " << countMax+1 << "): "; cin >> countStud; if (countStud>countMax) countStud=countMax; if (countStud<1) countStud=1; float grade, rating; for (Num=0; Num<countStud; Num++) { cout << "\tСтудент №\n" << Num+1 << ". " << setw(28) << left << "Фамилия?"; cin >> gruppa[Num].surname; cout << " Место жительства?: Дома-0, Общежитие-1, Съёмное жильё-2: "; cin>>i; gruppa[Num].place=Tplace(i); cout<<" Средний бал аттестата по всем предметам: "; cin>>grade; gruppa[Num].rating.grade=grade; } cout << "\nСписок группы:\n" << setw(6) << "Номер" << setw(10) << "Фамилия" << setw(15) << "Место жительства " << "Средний бал аттестата" << endl; for (Num=0; Num<countStud; Num++) { cout<<right<<Num+1<<setw(13)<<gruppa[Num].surname <<setw(15)<<placestr[gruppa[Num].place] <<setw(15)<<gruppa[Num].rating.grade<<endl; } cout<<"Упорядочение по среднему баллу аттестата: "<<endl; float temp; for (int Num = 0; Num < countStud - 1; Num++) { for (int j = 0; j < countStud - Num - 1; j++) { if (gruppa[j].rating.grade > gruppa[j + 1].rating.grade) { temp = gruppa[j].rating.grade; gruppa[j].rating.grade = gruppa[j + 1].rating.grade; gruppa[j + 1].rating.grade = temp; } } } cout << "\nСписок группы:\n" << setw(6) << "Номер" << setw(10) << "Фамилия" << setw(15) << "Место жительства " << "Средний бал аттестата" << endl; for (Num=0; Num<countStud; Num++) { cout<<right<<Num+1<<setw(13)<<gruppa[Num].surname <<setw(15)<<placestr[gruppa[Num].place] <<setw(15)<<gruppa[Num].rating.grade<<endl; } return 0; }
0
|
13.12.2019, 22:26 | |
Ответы с готовыми решениями:
3
Блочная сортировка структур (Отсортировать массив структур по фамилии) Сортировка структур Сортировка структур |
0 / 0 / 0
Регистрация: 13.12.2019
Сообщений: 2
|
|
13.12.2019, 22:50 [ТС] | |
Мне не нужно больше ничего сравнивать, значения среднего балла аттестата я отсортировал, но вот зачения фамилии и место жительства остались на своих местах. Как сделать так, чтобы в ответе на против строчки с оценкой стояли значения, которые я вводил вместе с этой оценкой
0
|
![]() 6343 / 3514 / 1427
Регистрация: 07.02.2019
Сообщений: 8,979
|
||||||
13.12.2019, 23:03 | ||||||
danil_crytit, ах вот оно что
0
|
13.12.2019, 23:03 | ||||||
Помогаю со студенческими работами здесь
4
Сортировка структур Сортировка структур Сортировка Структур Сортировка структур Искать еще темы с ответами Или воспользуйтесь поиском по форуму:
|
|
Новые блоги и статьи
![]() |
||||
Архитектурные паттерны микросервисов: ТОП-10 шаблонов
ArchitectMsa 22.03.2025
Популярность микросервисной архитектуры объясняется множеством важных преимуществ. К примеру, она позволяет командам разработчиков работать независимо друг от друга, используя различные технологии и. . .
|
Оптимизация рендеринга в Unity: Сортировка миллиона спрайтов
GameUnited 22.03.2025
Помните, когда наличие сотни спрайтов в игре приводило к существенному падению производительности? Время таких ограничений уходит в прошлое. Сегодня геймдев сталкивается с задачами совершенно иного. . .
|
Образование и практика
Igor3D 21.03.2025
Добрый день
А вот каково качество/ эффективность ВУЗовского образования? Аналитическая геометрия изучается в первом семестре и считается довольно легким курсом, что вполне справедливо. Ну хорошо,. . .
|
Lazarus. Таблица с объединением ячеек.
Massaraksh7 21.03.2025
Понадобилась представление на экране таблицы с объединёнными ячейками. И не одной, а штук триста, и все разные. На Delphi я использовал для этих целей TStringGrid, и то, кривовато получалось. А в. . .
|
Async/await в Swift: Асинхронное программирование в iOS
mobDevWorks 20.03.2025
Асинхронное программирование долго было одной из самых сложных задач для разработчиков iOS. В течение многих лет мы сражались с замыканиями, диспетчеризацией очередей и обратными вызовами, чтобы. . .
|
Колмогоровская сложность: Приёмы упрощения кода
ArchitectMsa 20.03.2025
Наверное, каждый программист хотя бы раз сталкивался с кодом, который напоминает запутанный лабиринт — чем дальше в него погружаешься, тем сложнее найти выход. И когда мы говорим о сложности кода, мы. . .
|
PostgreSQL в Kubernetes: Подготовка кластера и настройка
Mr. Docker 20.03.2025
Когда доходит до контейнеризации баз данных и особенно таких требовательных к ресурсам системах как PostgreSQL, многие команды до сих пор колеблются, прежде чем перенести их в контейнерную. . .
|
C++26: Индексирование пакетов и метапрограммирование
bytestream 20.03.2025
Эволюция C++ продолжается стремительными темпами – каждый новый стандарт приносит функциональность, о которой мы мечтали годами. Звучит слишком громко? Если вы когда-либо боролись с вариадическими. . .
|
Состояние гонки в C#: подводные камни многопоточного программирования
UnmanagedCoder 20.03.2025
Что такое состояние гонки? Это ситуация, когда результат программы непредсказуемо меняется в зависимости от порядка выполнения потоков. Проще говоря, два или более потока пытаются одновременно. . .
|
Next.js для разработки React: преимущества серверного рендеринга
Reangularity 20.03.2025
Next. js решает классическую проблему React-приложений: медленную первоначальную загрузку и плохую индексацию поисковиками. Вместо того чтобы заставлять браузер пользователя выполнять всю работу по. . .
|