
27.12.2007, 17:45
|
|
Участник форума
Регистрация: 17.05.2007
Сообщений: 220
Провел на форуме: 3013539
Репутация:
441
|
|
попробуй так(тут ток один вариан седловой точки):
Код:
program matrix(input, output);
const lim=20;
var i,j,k,ind,min,n,m:integer;
x:array[1..lim,1..lim] of integer;
ok:boolean
inp:Text;
begin
Assign(inp,'matrix.txt');
Reset(inp);
Read(inp,n,m);
if (n>lim) or (m>lim) then
Write('*Ґ¦Ґ«*о бзЁв*вм! ')
else begin
for i:=1 to n do
for j:=1 to m do
Read(inp,x[i][j]);
for i:=1 to n do
begin
min:=x[i,1]; ok:=true;
for j:=2 to m do
if x[i,j]<min then begin min:=x[i,j]; ind:=j; end;
for k:=i downto 1 do
if x[k,ind]>min then begin ok:=false; k:=n; end;
if ok then
for k:=i to n do
if x[k,ind]>min then begin ok:=false; k:=n; end;
if ok then writeln(i,ind);
end;
end
end.
зы. ещё 1 вещь, подумай над тем если у тебя в строке 2 максимальных элемента!!! (тогда придётся все варианты с ними рассматривать)
|
|
|