Показать сообщение отдельно
Старый 24.12.2015, 11:21   #3 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от 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.
Vladimir_S вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070