Определить название государства с минимальной плотностью населения - 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; }
Объяснение кода листинга программы
- Включаются необходимые заголовочные файлы: stdio.h и string.h
- Определяется структура student, которая содержит массив символов (nazv) и два double (chislnas и ploshad)
- Определяется массив gosvo типа student на 28 элементов
- В функции main открывается файл
vasya.txt
для чтения (если файл не может быть открыт, выводится сообщение об ошибке и функция возвращает 0) - В цикле while считываются данные из файла: название государства (массив nazv), плотность населения (chislnas) и площадь (ploshad) для каждого государства. Числовые значения считываются в переменную plotn
- После считывания всех данных, вычисляется минимальная плотность населения как отношение плотности населения к площади для первого государства (gosvo[0])
- Минимальная плотность населения и название государства копируются в соответствующие переменные min_gosvo
- В цикле for проверяются все государства, начиная со второго. Если плотность населения текущего государства меньше текущей минимальной плотности населения, то обновляются значения min_gosvo
- Выводится минимальная плотность населения и название государства с минимальной плотностью населения
- Функция возвращает 0
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д