Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   С/С++, C#, Delphi, .NET, Asm (https://forum.antichat.xyz/forumdisplay.php?f=24)
-   -   Паскаль задачи решения хелп (https://forum.antichat.xyz/showthread.php?t=98291)

An90 28.12.2008 05:40

Паскаль задачи решения хелп
 
1)Линейный массив содержит сведения о кол-ве осадков, выпавших за каждый из 12 месяцев одного года. Составить программу , определяющую общее кол-во осадков за этот год , среднемесячное кол-во осадков, кол-во засушливых месяцев ( когда кол-во осадков было меньше 30 мм) , самый засушливый месяц года.

2) Найдите в линейном массиве два элемента , сумма которых максимальна.

---------------------------------
люди кто знает решение? (( в пнд-ник уже над сдать (( спс

159932 28.12.2008 06:19

sum := 0;
zas := 0;
bed := 0;
for i:=1 to 365 do
begin
sum := sum + arr[i];
if arr[i] < bed then bed := arr[i];
if arr[i] < 30 then zas := zas + 1;
end;

writeln('всего за год - ',sum);
writeln('засушливых дней - ',zas);
writeln('самый засушливый день - ',bed);
------
max := 0;
max2 := 0;
for i:=1 to n do
begin
if arr[i] > max then
begin
max2 := max;
max := arr[i];
end;
end;
writeln(max2,' и ',max);

--
зы паскаль не знаю :D так шо можно считать что тут правильного ничего нету))

оlbaneс 28.12.2008 06:41

159932 вот я пытался разобрать пока не дошел до "зы паскаль не знаю так шо можно считать что тут правильного ничего нету))"
-)
п.с. если по теме то ход приблизительно правильный. ток доработать чуть надо.

lll6 28.12.2008 11:46

Первая
______________________________________________
Код:

Program osadki;
        var a:array [1..12] of integer;
            x,s,min,i,z:integer;
Begin
        min:=maxint;
        writeln ('Введи кол-во осадков в каждом месяце');
        for x:=1 to 12 do begin
                readln a[x];              {вводим кол-во осадков за этот месяц}
          s:=s+a[x];                {суммируем}
          if a[x]<30 then z:=z+1;  {проверяем данный месяц на засушливость}
          if min>a[x] then begin min:=a[x]; i:=x; {ищем самый засушливый месяц}
        end;
        writeln ('Засушливых месяцев: ',z,' Всего осадков выпало: ',s,' Самый засушливый месяц: ',i,' Средний уровень осадков: ',s div 12);
End.

Вторая
______________________________________________
Код:

Program osadki;
        var a:array [1..1000] of integer;
            x,y,s,d:integer;
Begin
        randomize;
        for x:=1 to 1000 do begin
          a[x]:=random(1000);        {заполняем массив случайными числами}
        end;
          for x:=1 to 999 do
          for y:=x+1 to 1000 do
            if a[x]+a[y]>max then begin max:=a[x]+a[y]; s:=a[x]; d:=a[y];  {поиск максимальной суммы}
        end;
        writeln (' Числа, дающие максимальную сумму: ',s,' ',d);
End.



Время: 10:57