Цитата:
Сообщение от Solom1k
В массиве данных найти год, у которого разница между наибольшей и наименьшей среднемесячными температурами была бы минимальной.
|
Код:
Const
NofY=10; {number of years}
Var
T:Array[1..NofY,1..12] of Integer;
i,j,Imin:Byte;
Min,Max,Dif,MinDif:Integer;
Begin
Randomize;
Writeln('Medium temperatures:');
Writeln(' Jn Fb Mr Ap My Ju Jl Ag Sp Oc Nv Dc');
for i:=1 to NofY do
begin
write(i+2019);
for j:=1 to 12 do
begin
T[i,j]:=-Abs(6-j)*6+Random(49);
write(T[i,j]:4,' ');
end;
writeln;
end;
MinDif:=200;
for i:=1 to NofY do
begin
Min:=100;
Max:=-100;
for j:=1 to 12 do
begin
if T[i,j]<Min then Min:=T[i,j];
if T[i,j]>Max then Max:=T[i,j];
end;
if (Max-Min)<MinDif then
begin
Imin:=i;
MinDif:=(Max-Min);
end;
end;
Writeln('Result: year ',Imin+2019,', difference ',MinDif);
Readln
End.