/
Pereroncino
/
Proga
Обзор
Документация
Войти
/
Pereroncino
/
Proga
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
lab9(2).cpp
63 строки
1 KB
Pereroncino
create: lab9(1).cpp, lab9(2).cpp, lab9(3).cpp, lab9(4).cpp
11 май 2026, 14:12
Верифицирован
11 май 2026, 14:12
d3065f4
Код
Авторство
О чём код?
#include <stdio.h> #include <string.h> struct Student2 { char name[80]; int grades[4]; Student2 *next, *prev; }; void print_list(Student2 *head) { for (Student2 *p = head->next; p->next; p = p->next) { printf("%s: %d %d %d %d\n", p->name, p->grades[0], p->grades[1], p->grades[2], p->grades[3]); } } int main() { Student2 *head, *tail, *p, *t; int n = 3; head = new Student2; tail = new Student2; head->prev = tail->next = NULL; head->next = tail; tail->prev = head; for (int i = 0; i < n; i++) { p = new Student2; printf("Familiya studenta: "); scanf("%s", p->name); printf("4 ocenki: "); for (int j = 0; j < 4; j++) scanf("%d", &p->grades[j]); p->next = tail; p->prev = tail->prev; tail->prev->next = p; tail->prev = p; } printf("\nSpisok do udaleniya:\n"); print_list(head); for (p = head->next; p != tail; ) { int has_bad_grade = 0; for (int j = 0; j < 4; j++) { if (p->grades[j] < 3) has_bad_grade = 1; } if (has_bad_grade) { t = p; p = p->next; t->prev->next = t->next; t->next->prev = t->prev; delete t; } else { p = p->next; } } printf("\nSpisok posle udaleniya (tolko uspevayushie):\n"); print_list(head); return 0; }