/
Pereroncino
/
Proga
Обзор
Документация
Войти
/
Pereroncino
/
Proga
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
lab9(3).cpp
61 строка
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 tree { char name[80]; int grades[4]; tree *l, *r; }; void add(tree *&t, char *name, int *g) { if (!t) { t = new tree; strcpy(t->name, name); for (int i = 0; i < 4; i++) t->grades[i] = g[i]; t->l = t->r = NULL; return; } if (strcmp(name, t->name) < 0) add(t->l, name, g); else add(t->r, name, g); } void print_asc(tree *t) { if (!t) return; print_asc(t->l); printf("%s\n", t->name); print_asc(t->r); } void print_desc(tree *t) { if (!t) return; print_desc(t->r); printf("%s\n", t->name); print_desc(t->l); } tree* search(tree *t, char *name) { if (!t || strcmp(name, t->name) == 0) return t; if (strcmp(name, t->name) < 0) return search(t->l, name); return search(t->r, name); } int main() { tree *root = NULL; int g[4] = {5, 4, 5, 3}; add(root, "Ivanov", g); add(root, "Abramov", g); add(root, "Sidorov", g); printf("Po vozrastaniu:\n"); print_asc(root); printf("\nPo ubivaniu:\n"); print_desc(root); char search_name[80] = "Abramov"; if (search(root, search_name)) printf("\nStudent %s nayden\n", search_name); else printf("\nNe nayden\n"); return 0; }