Вывести данные о комнате, в которой наименьшая площадь - C (СИ)
Формулировка задачи:
Задача:
Дана информация о пяти комнатах в общежитии: фамилии проживающих, номер комнаты, площадь, этаж. Вывести данные о комнате, в которой наименьшая площадь в программе использовать указатели. Как правильно организовать вывод данных о комнате, в которой наименьшая площадь и куда вставить в программу указатели. Код C#include <string.h> #include <conio.h> #include <stdio.h> int main() { struct Student{char name[20]; int nomer; int ploshad; int etage;} st[20]; int i,n,f,p,r; n=0; f=0; p=0; r=0; puts("Vvedite kolvo komnat, ne menee 5: "); scanf("%d",&n); if(n<=5) {printf("Eror!\n"); return 0 ; } puts("Vvedite svedenija v formate: familija [nomer komnati] - ploshad etag"); for(i=0;i<n;i++) scanf("%s %d %d %d",&st[i].name,&st[i].nomer,&st[i].ploshad,&st[i].etage); for(i=0;i<n;i++) {if (st[i].ploshad >5) printf("%s [%d] - %d %d\n",st[i].name,st[i].nomer,st[i].ploshad,st[i].etage); } getch(); return 0; }
Решение задачи: «Вывести данные о комнате, в которой наименьшая площадь»
textual
Листинг программы
#include <stdio.h> #include <stdlib.h> int main() { struct Student { char name[20]; int nomer; int ploshad; int etage; } st[20], * p, * min; unsigned i, n = 0; puts("Vvedite kolvo komnat, ne menee 5: "); scanf("%u", &n); if (n <= 5) { printf("Eror!\n"); return 1; } puts("Vvedite svedenija v formate: familija [nomer komnati] - ploshad etag"); p = st; i = n; while (i--) { scanf("%s %d %d %d", p->name, &p->nomer, &p->ploshad, &p->etage); p++; } min = st; p = st + 1; i = n - 1; while (i--) { if (p->ploshad < min->ploshad) { min = p; } p++; } printf("%s [%d] - %d %d\n", min->name, min->nomer, min->ploshad, min->etage); system("pause"); return 0; }
Объяснение кода листинга программы
- Подключение необходимых библиотек
- Объявление структуры
Student
с полями: name (строка до 20 символов), nomer (целое число), ploshad (целое число), etage (целое число) - Создание массива структур
Student
на 20 элементов и указателя на первый элемент этого массива - Ввод количества комнат с клавиатуры (не меньше 5)
- Если количество комнат меньше или равно 5, то выводится сообщение об ошибке и программа завершается
- Вывод сообщения с просьбой ввести данные в формате: фамилия [номер комнаты] - площадь этажа
- Цикл, в котором происходит считывание данных из клавиатуры для каждой комнаты
- Поиск комнаты с наименьшей площадью. Для этого используется указатель
min
, который ищет минимальное значение площади среди всех комнат - Вывод на экран данных о комнате с наименьшей площадью
- Завершение работы программы
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д