как вывести на печать функцию..?
мне помогли с решением задачи...я немогу вывести на печать конечный результат
необходимо удалить столбец с максимальным элементом..
далее нечетные отрицательные элементы первой строки матрицы расположить по убыванию.
Код
uses crt;
var a:array[1..20,1..20]of integer;
n,m,i,j,max,jmax,pv,t:integer;
function Check (i : integer) : boolean;
begin
Check := (a[1, i] < 0) and odd (abs (a[1, i]));
end;
function prev (i : integer) : integer;
begin
while (i > 0) and not Check (i) do dec (i);
prev := i;
end;
begin
clrscr;
randomize;
write('n=');readln(n);
write('m=');readln(m);
writeln('Ishodnaia matrica:');
for i:=1 to n do
begin
for j:=1 to m do
begin
a[i,j]:=random(20)-100;
write(a[i,j]:4);
end;
writeln;
end;
readln;
max:=a[1,1];jmax:=1;
for i:=1 to n do
for j:=1 to m do
if a[i,j]>max then
begin
max:=a[i,j];
jmax:=j;
end;
writeln('max element=',max,' v stlbce ',jmax);
writeln;
writeln('Rezultat:');
for j:=jmax to m-1 do
for i:=1 to n do
begin
a[i,j]:=a[i,j+1];
end;
for i:=1 to n do
begin
for j:=1 to m-1 do
write(a[i,j]:4);
writeln;
end;
readln;
for i := 1 to m - 1 do
for j := m - 1 downto i + 1 do
begin
pv := prev (pred(j)); if pv = 0 then continue;
if Check (j) and (a[1, pv] < a[1, j]) then
begin
T := a[1, pv]; a[1, pv] := a[1, j]; a[1, j] := T
end
end;
end.