Берём 2 людоедов перевозим их на 2 берег берём с самой 1 людоеда плывём на 1 высаживаем людоеда и берём 2 людей перевозим на 2 высаживаем берём людоеда плывём на 1 берег берём 2 людоеда и везём на 2 берег)
Const
m=5;
n=7;
var
a:array[1..m,1..n] of integer;
i,j,amax:integer;
p:real;
begin
Randomize;
Writeln('Исходный массивэ');
for i:=1 to m do begin
for j:=1 to n do begin
a[i,j]:=Random(90)+10;
Write(a[i,j]:3)
end;
Writeln
end;
{Задача 1}
amax:=a[1,1];
for i:=1 to m do
for j:=1 to n do
if a[i,j]>amax then amax:=a[i,j];
Writeln('Максимальный элемент равен ',amax);
{Задача 2}
p:=1;
for i:=1 to m do
for j:=1 to n do
if a[i,j] mod 2=0 then p:=p*a[i,j];
Writeln('Произведение четных элементов равно ',p);
end.
Пример работы
Исходный массивэ
94 20 49 80 70 55 40
62 74 71 51 88 10 76
68 11 11 74 96 50 69
98 34 25 93 52 53 61
68 85 35 15 77 78 97
Максимальный элемент равен 98
Произведение четных элементов равно 2.86826492979212E+33
N=2^i
512=2^i
2^9=512
i=9
Ответ: 9 бит
Если нужно вывести большее из двух чисел, то правильно, кроме:
3-я строка - в конце нужна точка с запятой
7-я строка - бессмысленная команда readln. Ее можно не писать.
===== PascalABC.NET =====
begin
var a := ReadArrInteger(5);
a.Println
end.