Отсортировать массив по некоторому числовому полю и вывести измененный массив на экран - C (СИ)
Формулировка задачи:
Есть задание.
Структура Journal хранит информацию о студентах группы: Family, Name, Curs, Group, Count (количество пропущенных часов), Month (месяц - перечисление).
1. Описать пользовательский тип данных структуру (согласно варианту)
2. Объявить массив структур (не менее 10 элементов)
3. Инициализировать элементы с помощью датчика случайных чисел (где возможно)
4. Вывести на экран массив
5. Найти количество элементов массива с некоторым значением, заданным пользователем (для фиксированного поля структуры) и вывести найденное значение на экран
6. Отсортировать массив по некоторому числовому полю и вывести измененный массив на экран
1-4 я сделал.
Незнаю как реализовать 5-6. Помогите пожалуйста. В долгу не останусь. Все темы освоил блин, а структуры не понимаю(
рандом был не больше 5???
Как сделать что-бы
for(int i=0;i<10;i++) m[i].Curs=rand();
Решение задачи: «Отсортировать массив по некоторому числовому полю и вывести измененный массив на экран»
textual
Листинг программы
struct Dunce { std::string name; // будем работать с этим полем int age; // остальное несущественно friend std::ostream& operator << (std::ostream& os, const Dunce& d) { return os << d.name << std::endl; } }; Dunce dunces[100];
Объяснение кода листинга программы
- Структура
Dunce
объявлена с полемname
типаstd::string
и полемage
типаint
. - Определен дружественный оператор
<<
для структурыDunce
иstd::ostream
, который выводит на экран значение поляname
структурыd
. - Массив
dunces
объявлен размером 100 элементов типаDunce
. - Необходимо отсортировать массив
dunces
по полюage
в возрастающем порядке. - Для этого можно использовать стандартную функцию
std::sort
из библиотеки<algorithm>
, передав ей аргументstd::less<int>
, который сравнивает элементы массива по полюage
. - Отсортированный массив
dunces
необходимо вывести на экран. - Для этого можно использовать цикл
for
и оператор<<
для вывода на экран каждого элемента массива.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д