Вот:
Код:
VAR
A:ARRAY[1..100] of INTEGER;
i,N,Minimum:Integer;
BEGIN
Write('N= ');
ReadLn(N);
Minimum:=32000;
For i:=1 to N do
begin
Write('A[',i:2,']= ');
ReadLn(A[i]);
If (A[i]<Minimum) and ((A[i] mod 4)=0) then Minimum:=A[i];
end;
WriteLn('Minimum= ',Minimum);
ReadLn;
END.
Здесь предполагается, что максимальный размер массива - 100 элементов. Исходное значение минимума (32000) - просто произвольное очень большое число, заведомо превышающее вводимые с консоли числа.
Код:
VAR
A:ARRAY[1..100,1..100] of INTEGER;
i,j,Jfix,N,M,p,q:Integer;
Minimum,Medium:Real;
BEGIN
Write('Number of lines (N)= ');
ReadLn(N);
Write('Number of columns (M)= ');
ReadLn(M);
Minimum:=100000;
For i:=1 to N do
For j:=1 to M do
begin
Write('A[',i:2,',',j:2,']= ');
ReadLn(A[i,j]);
end;
q:=0;
Jfix:=0;
For j:=1 to M do
begin
Medium:=0;
p:=0;
For i:=1 to N do
If (A[i,j] mod 2)=0 then
begin
Medium:=Medium+A[i,j];
p:=p+1;
end;
If p>0 then
begin
Medium:=Medium/p;
If Medium<Minimum then
begin
Minimum:=Medium;
Jfix:=j;
end;
q:=q+1;
end;
end;
If q>0 then
WriteLn('Column number= ', Jfix,' Minimum= ',Minimum)
else
WriteLn('Array contains no even numbers');
ReadLn;
END.
Здесь несколько сложнее. Проверяется, имеются ли в столбце четные члены (если да, то p>0), а также имеются ли таковые в матрице в целом (да соответствует q>0). Исходное значение Minimum как и в предыдущем случае - некое произвольное большое число (в программе взято 100000).