Тема: ПАСКАЛЬ =\
Показать сообщение отдельно

  #7  
Старый 27.12.2007, 17:45
VERte][
Участник форума
Регистрация: 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 максимальных элемента!!! (тогда придётся все варианты с ними рассматривать)
 
Ответить с цитированием