На С++

Описать структуру с именем student, содержащую следующие поля: номер зачетной книжки, фамилия, имя, номер группы, год рождения, год поступления, средний балл аттестата. Данные сортировать по полю «фамилия». Выполнить поиск индекса самого старшего студента из группы, заданной пользователем.
Структура student:
- номер зачетной книжки (int)
- фамилия (string)
- имя (string)
- номер группы (int)
- год рождения (int)
- год поступления (int)
- средний балл аттестата (float)

Данные можно отсортировать по полю «фамилия» следующим образом:

```c++
#include
#include
#include

using namespace std;

struct student {
int id;
string last_name;
string first_name;
int group_number;
int birth_year;
int enrollment_year;
float average_mark;
};

bool compare_students(const student& s1, const student& s2) {
return s1.last_name < s2.
Вот наработки надо в программу сложить

Ответы

Ответ дал: Speedyzs
1

Ответ: Написал

#include <iostream>

#include <vector>

#include <algorithm>

using namespace std;

struct student {

   int id;

   string last_name;

   string first_name;

   int group_number;

   int birth_year;

   int enrollment_year;

   float average_mark;

};

bool compare_students(const student& s1, const student& s2) {

   return s1.last_name < s2.last_name;

}

int main() {

   vector<student> students = {

       {1, "Ivanov", "Ivan", 101, 2000, 2019, 4.5},

       {2, "Petrov", "Petr", 102, 2001, 2019, 4.3},

       {3, "Sidorov", "Sidor", 101, 2002, 2020, 4.7},

       {4, "Smirnov", "Sergey", 102, 1999, 2020, 4.0}

   };

   

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

   sort(students.begin(), students.end(), compare_students);

   

   // Выводим отсортированный список студентов

   cout << "Sorted list of students:\n";

   for (const auto& s : students) {

       cout << s.last_name << " " << s.first_name << " (group " << s.group_number << ")\n";

   }

   

   // Пользователь вводит номер группы

   int group_number;

   cout << "Enter group number: ";

   cin >> group_number;

   

   // Ищем самого старшего студента из заданной группы

   int oldest_student_index = -1;

   int oldest_birth_year = 0;

   for (int i = 0; i < students.size(); i++) {

       if (students[i].group_number == group_number && students[i].birth_year < oldest_birth_year) {

           oldest_student_index = i;

           oldest_birth_year = students[i].birth_year;

       }

   }

   

   // Выводим результат

   if (oldest_student_index == -1) {

       cout << "No students found in group " << group_number << "\n";

   } else {

       cout << "Oldest student in group " << group_number << ": " << students[oldest_student_index].last_name << " " << students[oldest_student_index].first_name << "\n";

   }

   

   return 0;

}

Можно пять звезд и лучший ответ пжпжпж

Вас заинтересует