Advertisement
Infiniti_Inter

VIII/13

May 22nd, 2021 (edited)
1,404
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pascal 1.64 KB | None | 0 0
  1. program VIII;
  2. var
  3. a : array [1..1000, 1..1000] of integer;
  4.  
  5.  i, j, n, k, min, INF: integer;
  6.  
  7. begin
  8.     ReadLN(n);
  9.     for i:= 1 to n do
  10.     begin
  11.         for j:= 1 to n do
  12.             Read(a[i,j]);//считываем массив
  13.         ReadLN();// для переноса строки
  14.     end;
  15.     min:= a[1, 1];
  16.     for i := 1 to n do
  17.         for j := 1 to n do
  18.             if (a[i, j] < min) then
  19.                 min := a[i, j];//поиск минимума
  20.    
  21.     INF := 32000;//число, которого 100% не будет в матрице, чтобы метить элементы, которые удалены
  22.     for i := 1 to n do
  23.         for j:= 1 to n do
  24.             if (a[i,j] = min) then
  25.                 begin
  26.                     a[i,j] := INF;//удаляем позицию, в которой нашли минимум
  27.                     for k:= 1 to n do//фиксируем строку, проходим по столбцу
  28.                         if a[i, k] <> min then//если находим еще один минимум, то оставляем, чтобы удалить еще одну строку/столбец
  29.                             a[i, k]:= INF;
  30.                     for k:= 1 to n do//фиксируем столбец, проходим по строкам
  31.                         if a[k, j] <> min then
  32.                             a[k, j]:= INF;
  33.                            
  34.                 end;
  35.  
  36.     for i:= 1 to n do
  37.     begin
  38.         for j:= 1 to n do
  39.             if (a[i, j] <> INF ) then
  40.                 Write(a[i,j], ' ');
  41.         WriteLN();
  42.     end;
  43.    
  44.            
  45. end.
  46.  
  47.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement