а)Формирует список стран в порядке невозрастания среднемесячной температуры в заданном месяцу с указанием соответствующего значения температуры;
б)формирует список стран в порядке невозрастания среднегодовой температура с указанием соответствующего значения температуры;
с)для заданной страны находит месяц в которых среднемесячная температура ниже(выше)
установленного значения;
д) для заданной страны находит месяц в которых среднемесячная температура ниже(выше)
установленного значения всех стран.
uses crt;
const
m=10;{количество стран}
n=12;{количество месяцев}
strana:array[1..m]of string[10]=('Украина','Польша','Болгария','Германия',
'Англия','Италия','Франция','Швеция','Испания','Турция');
mesyac:array[1..n]of string[10]=('Январь','Февраль','Март','Апрель','Май','Июнь',
'Июль','Август','Сентябрь','Октябрь','Ноябрь','Декабрь');
var a:array[1..m,1..n+1] of real;{размер матрицы}
i,j,ms,st,k:byte;
sr,mn,mx,t:real;
str:string[10];
begin
clrscr;
randomize;
writeln('Введите среднемесячную температуру по странам:');
for i:=1 to m do {заполняем матрицу данными}
begin
writeln(strana[i],' ');
for j:=1 to n do
begin
write(mesyac[j],'=');
readln(a[i,j]);
end;
writeln;
end;
clrscr;
{посчитаем среднюю температуру за год и запишем в дополнительный столбец}
for i:=1 to m do
begin
sr:=0;
for j:=1 to n do
sr:=sr+a[i,j];
a[i,n+1]:=sr/n;
end;
writeln('Матрица температур:':50,'Средн.':28);{выводим матрицу для обзора}
writeln;
for i:=1 to m do
begin
write(strana[i]);
gotoXY(10,whereY);
for j:=1 to n do
write(a[i,j]:5:1);
write(a[i,n+1]:8:1);
writeln;
end;
readln;
clrscr;
{сортируем по невозрастанию в указанном месяце}
repeat
writeln('Введите месяц, число 1-12:');
readln(ms);
until ms in [1..12];
for i:=1 to m-1 do
for j:=i+1 to m do
if a[i,ms]<a[j,ms] then
begin
t:=a[i,ms];
a[i,ms]:=a[j,ms];
a[j,ms]:=t;
str:=strana[i];
strana[i]:=strana[j];
strana[j]:=str;
end;
writeln('Страны по невозрастанию температуры в месяце ',mesyac[ms]);
for i:=1 to m do
begin
write(strana[i]);
gotoXY(10,whereY);
write(a[i,ms]:5:1);
writeln;
end;
readln;
clrscr;
{сортировка по невозрастанию среднегодовой температуры}
for i:=1 to m-1 do
for j:=i+1 to m do
if a[i,n+1]<a[j,n+1] then
begin
t:=a[i,n+1];
a[i,n+1]:=a[j,n+1];
a[j,n+1]:=t;
str:=strana[i];
strana[i]:=strana[j];
strana[j]:=str;
end;
writeln('Страныы по невозрастанию среднегодовой температуры:');
for i:=1 to m do
begin
write(strana[i]);
gotoXY(10,whereY);
write(a[i,n+1]:5:1);
writeln;
end;
readln;
clrscr;
{находим месяц с температурой ниже(выше) установленного значения для заданной страны}
repeat
write('Страна (1-10): ');
readln(st);
until st in [1..10];
write('Установленное значение температуры :');
readln(t);
writeln('В стране ',strana[st]);
writeln(' - температура ниже ',t:0:1,':');
k:=0;
for i:=1 to m do
if a[st,i]<t then
begin
k:=1;
write(mesyac[i],' ');
end;
writeln;
if k=0 then writeln('Таких месяцев нет!');
writeln(' - температура выше ',t:0:1,':');
k:=0;
for i:=1 to m do
if a[st,i]>t then
begin
k:=1;
write(mesyac[i],' ');
end;
writeln;
if k=0 then writeln('Таких месяцев нет!');
readln
end.