Просмотр полной версии : Паскаль задачи решения хелп
1)Линейный массив содержит сведения о кол-ве осадков, выпавших за каждый из 12 месяцев одного года. Составить программу , определяющую общее кол-во осадков за этот год , среднемесячное кол-во осадков, кол-во засушливых месяцев ( когда кол-во осадков было меньше 30 мм) , самый засушливый месяц года.
2) Найдите в линейном массиве два элемента , сумма которых максимальна.
---------------------------------
люди кто знает решение? (( в пнд-ник уже над сдать (( спс
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 так шо можно считать что тут правильного ничего нету))
159932 вот я пытался разобрать пока не дошел до "зы паскаль не знаю так шо можно считать что тут правильного ничего нету))"
-)
п.с. если по теме то ход приблизительно правильный. ток доработать чуть надо.
Первая
______________________________________________
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.
vBulletin® v3.8.14, Copyright ©2000-2026, vBulletin Solutions, Inc. Перевод: zCarot