Отсортировать массив по некоторому числовому полю и вывести измененный массив на экран - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Есть задание. Структура Journal хранит информацию о студентах группы: Family, Name, Curs, Group, Count (количество пропущенных часов), Month (месяц - перечисление). 1. Описать пользовательский тип данных структуру (согласно варианту) 2. Объявить массив структур (не менее 10 элементов) 3. Инициализировать элементы с помощью датчика случайных чисел (где возможно) 4. Вывести на экран массив 5. Найти количество элементов массива с некоторым значением, заданным пользователем (для фиксированного поля структуры) и вывести найденное значение на экран 6. Отсортировать массив по некоторому числовому полю и вывести измененный массив на экран 1-4 я сделал. Незнаю как реализовать 5-6. Помогите пожалуйста. В долгу не останусь. Все темы освоил блин, а структуры не понимаю(
Как сделать что-бы
for(int i=0;i<10;i++)
    m[i].Curs=rand();
рандом был не больше 5???

Решение задачи: «Отсортировать массив по некоторому числовому полю и вывести измененный массив на экран»

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];

Объяснение кода листинга программы

  1. Структура Dunce объявлена с полем name типа std::string и полем age типа int.
  2. Определен дружественный оператор << для структуры Dunce и std::ostream, который выводит на экран значение поля name структуры d.
  3. Массив dunces объявлен размером 100 элементов типа Dunce.
  4. Необходимо отсортировать массив dunces по полю age в возрастающем порядке.
  5. Для этого можно использовать стандартную функцию std::sort из библиотеки <algorithm>, передав ей аргумент std::less<int>, который сравнивает элементы массива по полю age.
  6. Отсортированный массив dunces необходимо вывести на экран.
  7. Для этого можно использовать цикл for и оператор << для вывода на экран каждого элемента массива.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 4 из 5
Похожие ответы