Помощь - Поиск - Пользователи - Календарь
Полная версия: Двумерный массив.
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
givi
Начали мы проходить двумерный массив и задали такую простенькую задачку
Построить массив ввиде матрицы найти минимаоьное,максимальное число,и симетрично отобразить ее.. ну этовобщем я зделал а вот есть еще одно нужно найти узловое число т.е (максимальное в строке и минимальное в столбце) и есть ли вобше такое число. Ну чета недагоняю я как это описать
гляньте хоть это правельно
Код
uses crt;
var mas:array[1..4,1..4] of integer;
   min,max,x,i,j:integer;
begin
RANDOMIZE;
clrscr;
 for i:=1 to 4 do begin
   for j:=1 to 4 do begin
        mas[i,j]:=randoM(50);
     end;
   end;


    for i:=1 to 4 do begin
     WriteLn(' ');
     for j:=1 to 4 do begin
        write(mas[i,j]); Write(' ');

     end;

   end;

    max:= mas[1,1];
    for i:=1 to 4 do begin
     for j:=1 to 4 do begin
       if max< mas[i,j] then begin
         max:=mas[i,j];
       end;
     end;
   end;
   writeln('');
   writeln ('max=',max);



   min:= mas[1,1];
    for i:=1 to 4 do begin
     for j:=1 to 4 do begin
       if min > mas[i,j] then begin
         min:= mas[i,j];
       end;
     end;
    end;
   writeln ('min=',min);



    for i:=1 to 4 do begin
       WriteLn(' ');
         for j:=1 to 4 do begin
            write(mas[j,i]); Write(' ');

         end;
    end;
readkey;

end.
givi
Люди че даже мыслей никаких нету как это сделать!
:p2:
volvo
givi
А что непонятно? Насчет узловой точки: проходишь по всем строкам матрицы, в каждой из них ищещь максимум. Когда макс. элемент строки найден, проходишь по тому столбцу, в котором он находится, и проверяешь, не является ли он в этом столбце минимальным. Если является - то узловая точка найдена, если нет - значит для этой строки узловой точки нет. Переходим к след. строке (в любом случае, т.к. у матрицы может более одной узловой точки)...
givi
мне уже наш админ также сказал сделать тока я не могу дагнать как описать это голова не работает вобше
FreeMan
Без компилятора, так что могут быть мелкие ошибки


Код
uses crt;
const
n=5;
var
a:array [1..n,1..n] of word;
i,j:byte;
bufer:word;
flag:boolean;
est:boolean;
begin
RANDOMIZE;
clrscr;
for i:=1 to n do begin
  for j:=1 to n do begin
       a[i,j]:=randoM(50);
    end;
  end;

est:=false;
for i:=1 to n do begin
bufer:=1;
flag:=true;
for j:=1 to n do
 if a[i,j]>a[i,bufer] then bufer:=j;
for j:=1 to n do
 if a[j,bufer]>a[i,bufer] then flag:=false;
if flag then begin
 est:=true;
 writeln('uzlovoe a[',i,',',bufer,']=',a[i,bufer]);
end;
end;
if not(est) then writeln('Uzlovogo netu');
readln;
end.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.