Помощь - Поиск - Пользователи - Календарь
Полная версия: массивы
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
klim
Даны массивы А1(N1,M1), A2(N2,M2), A3(N3,M3). Вычислить x=x1+x2+x3 , y=y1+y2+y3, где x1- минимальный элементсреди нечетных столбцов массива А1, y1 -максимальный элемент среди четных столбцовмассива A1. Аналогично x2,x3,y2, y3 для массивов A2 и A3. Нахождение минимального элемента в нечетных столбцах массива и максимального в четных столбцах оформить в виде подпрограммы.
Кто может помогите, пожалуйста, буду очень благодарен. Вотпробовал решать, но не знаю как сделать максимальный и минимальный элемент массива, поэтому попробовал взять локальный максимум, но... Помоги дописать, если можешь.
Код
program pr_6;
uses crt;  
type mass = array [1..5,1..5] of integer;
var a1, a2, a3:mass;
n1,m1,n2,m2,n3,m3:integer;
var x,y,x1,x2,x3,y1,y2,y3:real;  
procedure wwod (p:string; var h:mass; n:integer;m:integer);
var l1,l2:integer;
i, j:integer;  
begin
write ('vv stroki massiva' , p ,'');
read(n);  
write ('vv stolbcov massiva' , p ,'');
  read(m);
  write ('vv nignii predel massiva' , p ,'');
read(L1);  
write ('vv verhnii predel massiva' , p ,'');
read(L2);
writeln ('massiv' , p ,'sgenerirovan avtomat');
for i:=1 to n do
begin  
for j:=1 to m do  
begin  
H [i,j]:=random (L2-L1+1)+L1;
write (H[i,j], '');  
end;
writeln;  
end;  
end;  
procedure summ (H:mass; m, n:integer; var s:real);
var i,j:integer;  
begin
s:=0;
for i:=1 to n do
begin  for
j:=2 to m do
  begin  
if i mod 2<>0 then
if (H[i,j]<H[i,j-1]) and (H[i,j]<H[i,j+1]) then  
s:=s+H[i,j];  
end;  
end;
end;
procedure summ_2 (H:mass; m, n:integer; var s:real);
var i,j:integer;
begin  
s:=0;
  for i:=1 to n do  
begin  
for j:=2 to m do
begin  
if i mod 2=0 then
if (H[i,j-1]<H[i,j]) and (H[i,j]<H[i,j+1]) then  
s:=s+H[i,j];  
end;  
end;
  end;  
begin
clrscr;
randomize;
wwod ('a',a1,n1,m1);
wwod ('a',a2,n2,m2);
wwod ('a',a3,n3,m3);
summ (a1,n1,m1,x1);  
summ (a2,n2,m2,x2);  
summ (a3,n3,m3,x3);  
summ (a1,n1,m1,x1);  
summ (a2,n2,m2,x2);
summ (a3,n3,m3,x3);  
begin  
x:=x1+x2+x3;  
y:=y1+y2+y3;  
writeln('x=', x:3 'y=',y:3);  
if x=0 then writeln('net min elementov');  
if y=0 then writeln (  'net max elementov');  
end;  
end.  
Артемий
Хоть что-то пробовал делать..показывай все попытки, а там подправим.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.