Определить название государства с минимальной плотностью населения - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Известны данные о численности населения(в миллионах жителей) и площади(в тысячах квадратных километров) 28 государств. Определить название государства с минимальной плотностью населения. Сделать через структуры, данные взять из txt. файла. Вот кусок..дальше не получается
include<stdio.h>
include<conio.h>
struct student(
char nazv[15]; double chislnas[15], ploshad[15];
int main (){Clrscr(); int i,j,k; char *a,*b,*c;
FILE *f; if ((f=fopen("vasya.txt", "rt"))=NULL)
{printf("nety"); getch();return 0;)
else {student gosvo [28];
for(i=o;!feof;i++)
{fscanf(f,"%s",a);
strcpy(gosvo[i].nazv,a);
после этого не знаю как остальное сделать

Решение задачи: «Определить название государства с минимальной плотностью населения»

textual
Листинг программы
#include <stdio.h>
#include <string.h>
 
struct student
{
    char nazv[15];
    double chislnas;
    double ploshad;
}gosvo[28];
 
int main ()
{
    int i=0;
    double plotn;
    char min_gosvo[15];
    FILE *f;
    if ((f=fopen("vasya.txt", "rt"))==NULL)
    {
        printf("nety");
        return 0;
    }
        else
        {
          while(!feof(f))
            {
                fscanf(f,"%s",gosvo[i].nazv);
                fscanf(f,"%lf",&gosvo[i].chislnas);
                fscanf(f,"%lf",&gosvo[i].ploshad);
                i++;
            }
        }
plotn=gosvo[0].chislnas/gosvo[0].ploshad;
strcpy(min_gosvo,gosvo[0].nazv);
 
for(i=1;i<28;i++)
{
    if(gosvo[i].chislnas/gosvo[i].ploshad <plotn )
    {
        plotn=gosvo[i].chislnas/gosvo[i].ploshad;
        strcpy(min_gosvo,gosvo[i].nazv);
    }
        }
 
printf("Min plotn = %lf, %s",plotn,min_gosvo);
 
return 0;
}

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

  1. Включаются необходимые заголовочные файлы: stdio.h и string.h
  2. Определяется структура student, которая содержит массив символов (nazv) и два double (chislnas и ploshad)
  3. Определяется массив gosvo типа student на 28 элементов
  4. В функции main открывается файл vasya.txt для чтения (если файл не может быть открыт, выводится сообщение об ошибке и функция возвращает 0)
  5. В цикле while считываются данные из файла: название государства (массив nazv), плотность населения (chislnas) и площадь (ploshad) для каждого государства. Числовые значения считываются в переменную plotn
  6. После считывания всех данных, вычисляется минимальная плотность населения как отношение плотности населения к площади для первого государства (gosvo[0])
  7. Минимальная плотность населения и название государства копируются в соответствующие переменные min_gosvo
  8. В цикле for проверяются все государства, начиная со второго. Если плотность населения текущего государства меньше текущей минимальной плотности населения, то обновляются значения min_gosvo
  9. Выводится минимальная плотность населения и название государства с минимальной плотностью населения
  10. Функция возвращает 0

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


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

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

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