program PascalGuru;
uses crt;
var A:array[1..50,1..50] of integer; {переменная двумерного массива}
D:array[1..50] of integer; {переменная одномерного массива}
i,j,m,n,k:integer; {переменные для циклов}
{-------------------------------------------------------------------------------}
function max:integer; {функция, определяющая максимальный элемент по условию}
var i,j,rez:integer; {объявление переменных внутри функции}
first:integer;
s:boolean;
begin
{ниже определим ПЕРВЫЙ элемент столбца, номер которого отсутствует в массиве "D"}
for j:=1 to m do {проходим по столбцам}
begin
s:=true; {изначально ТРУ - т.е. текущий столбец ОТСутствует в массиве "D"}
for i:=1 to k do {проходим по эл-ам массива "D"}
if D[i]=j then s:=false; {если текущий номер присуствует в массиве - то фалс}
if s then begin first:=j; break; end; {условие пройдено = определили первый столбец }
end;
rez:=A[1,first]; {результирующей переменной присвоили значение первого эл-та }
for j:=first to m do {проходим по столбцам начиная с первого, который отвечает условию}
begin
s:=true;
for i:=1 to k do
if D[i]=j then s:=false;
if s then {если выполнено условие того, что тек-й столбец отсутствует в массиве "D"}
begin
for i:=1 to n do {проходим по всем эл-ам столбца}
if rez
end;
end;
max:=rez; {присваиваем функции результат}
end;
{-------------------------------------------------------------------------------}
begin
write('N= '); readln (n); {считываем размер массива}
write('M= '); readln (m); {считываем размер массива}
writeln ('Vvedite elementy massiva A: ');
for i:=1 to n do
for j:=1 to m do begin
write ('A[',i,',',j,']='); readln (A[i,j]); end; {считываем элементы массива}
clrscr;
write ('Vot vvedennyi vami massiv A: ');
for i:=1 to n do begin writeln;
for j:=1 to m do write (A[i,j]:4,' '); end; {выводим массив на экран}
writeln;writeln;
write('Vvedite "K" - razmer massiva D: '); readln(k); {считываем размер массива "D"}
for i:=1 to k do begin
write ('D[',i,']='); readln (D[i]); end; {считываем эл-ты массива "D"}
writeln;writeln;
writeln('Otvet max: ',max()); {выводим на экран результат МАКСимального эл-та через вызов функции}
readln;
end.