Вывести данные о комнате, в которой наименьшая площадь - 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;
}

Объяснение кода листинга программы

  1. Подключение необходимых библиотек
  2. Объявление структуры Student с полями: name (строка до 20 символов), nomer (целое число), ploshad (целое число), etage (целое число)
  3. Создание массива структур Student на 20 элементов и указателя на первый элемент этого массива
  4. Ввод количества комнат с клавиатуры (не меньше 5)
  5. Если количество комнат меньше или равно 5, то выводится сообщение об ошибке и программа завершается
  6. Вывод сообщения с просьбой ввести данные в формате: фамилия [номер комнаты] - площадь этажа
  7. Цикл, в котором происходит считывание данных из клавиатуры для каждой комнаты
  8. Поиск комнаты с наименьшей площадью. Для этого используется указатель min, который ищет минимальное значение площади среди всех комнат
  9. Вывод на экран данных о комнате с наименьшей площадью
  10. Завершение работы программы

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 4.462 из 5
Похожие ответы