#define _CRT_SECURE_NO_WARNINGS #include #include #include #include struct enrollee { char* surname; char* city; float GPA; }; int main() { setlocale(LC_ALL, "Rus"); printf("\tДанная программа получает список абитуриентов и выводит в алфавитном порядке список тех, кто проживает в Минске и у кого средний балл 7 и выше. \n"); struct enrollee list[10] = { { "Устинович", "Сенно", 9.0 }, { "Ханенко", "Минск", 7.5 }, { "Карась", "Гродно", 9.0 }, { "Арефин", "Брест", 6.7 } , { "Асепков", "Витебск", 5.2}, { "Елькин", "Витебск", 8.3 }, { "Кротюк", "Минск", 7.2 }, { "Кирлица", "Минск", 7.5 }, { "Заяц", "Минск", 7.1 }, { "Крутько", "Минск", 10.0 } }; printf("\t\t\t\t Введенный список: \n"); for (int i = 0; i < 10; i++) { printf("Студент номер %d:\n Фамилия: %s;\n Город: %s;\n Средний балл: %.2f;\n\n", i + 1, list[i].surname, list[i].city, list[i].GPA); } for (int i = 0; i < 9; i++) { for (int j = 0; j < 10 - i - 1; j++) { if (strcmp(list[j].surname, list[j + 1].surname) > 0) { // меняем элементы местами struct enrollee temp; temp = list[j]; list[j] = list[j + 1]; list[j + 1] = temp; } } } printf("\t\t\t\t Отсортированный список: \n"); for (int i = 0; i < 10; i++) { printf("Студент номер %d:\n Фамилия: %s;\n Город: %s;\n Средний балл: %.2f;\n\n", i + 1, list[i].surname, list[i].city, list[i].GPA); } printf("\t\t\t\t Список по заданным фильтрам: \n"); for (int i = 0; i < 10; i++) { if (strcmp(list[i].city, "Минск") == 0 && list[i].GPA >= 7.0) printf("Студент номер %d:\n Фамилия: %s;\n Город: %s;\n Средний балл: %.2f;\n\n", i + 1, list[i].surname, list[i].city, list[i].GPA); } return 0; }