Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции 2021 / OIT_lek_sem_27_10_2021.docx
Скачиваний:
1
Добавлен:
14.12.2023
Размер:
29.29 Кб
Скачать

Void main()

{ const int n = 3; int i, j;

struct student {

char fam[10];

float math, chem, fiz;

};

struct student1 {

char fam[10];

float srball;

};

student group[n];

student1 group1[n];

cout << "*****group*****";

cout << "\n";

for (i = 0;i < n;i++) {

cout << "\ngroup[" << i << "].fam="; cin >> group[i].fam;

cout << "\ngroup[" << i << "].math="; cin >> group[i].math;

cout << "\ngroup[" << i << "].chem="; cin >> group[i].chem;

cout << "\ngroup[" << i << "].fiz="; cin >> group[i].fiz;

}// ввод group с клавиатуры

cout << "\n";

for (i = 0;i < n;i++) {

for (j = 0;j < 10;j++)

group1[i].fam[j] = group[i].fam[j];// посимвольное копирование

group1[i].srball = (group[i].math + group[i].chem + group[i].fiz) / 3;

}…

Void main()

{ const int n = 3; int i, j;

struct student {

char fam[10];

float math, chem, fiz;

};

struct student1 {

char fam[10];

float srball;

};

student group[n];

student1 group1[n];

cout << "*****group*****";

cout << "\n";

group[0] = { "petrov",4.,5.,5.};

group[1] = { "sidorova",5.,5.,5.};

group[2] = { "ivanov",3.,4.,5.};

/*for (i = 0;i < n;i++) {

cout << "\ngroup[" << i << "].fam="; cin >> group[i].fam;

cout << "\ngroup[" << i << "].math="; cin >> group[i].math;

cout << "\ngroup[" << i << "].chem="; cin >> group[i].chem;

cout << "\ngroup[" << i << "].fiz="; cin >> group[i].fiz;

}// ввод group с клавиатуры*/

cout << "\n";

for (i = 0;i < n;i++) {

for (j = 0;j < 10;j++)

group1[i].fam[j] = group[i].fam[j];

group1[i].srball = (group[i].math + group[i].chem + group[i].fiz) / 3;

}…

Задача № 16.

Создать ведомость в виде массива структур с элементами:

  • фамилия;

  • средний балл.

Принять количество структур в массиве – 3.

Выполнить сортировку в массиве структур по убыванию среднего балла.

struct student {

STRING fam[10];

double srball;

};

student group[n],t[n];

В алгоритме сортировки сравниваем значения среднего балла

if (group[j].srball < group[j + 1].srball) {

t[j] = group[j]; group[j] = group[j + 1]; group[j + 1] = t[j];}

а перестановку структур выполняем целиком

t[j] = group[j]; group[j] = group[j + 1]; group[j + 1] = t[j];

используя вспомогательную переменную t[n].

Вывод массива структур group:

cout << "*****group new*****";

cout << "\n";

for (i = 0;i < n;i++) {

cout << "group[" << i << "].fam=" << '' << group[i].fam << '';

cout << "group[" << i << "].srball=" << '' << group[i].srball;

cout << "\n";

}

72

Соседние файлы в папке Лекции 2021