В матрице A[N,N] каждый элемент A[i,j] заменить минимальным среди элементов подматрицы A[i,j], расположенной в левом верхнем углу

Представим решение на примере единичной матрицы в размере 6х6
1 1 1 1 1 1
1 1 1 1 1 1
1 1 1 1 1 1
1 1 1 1 1 1
1 1 1 1 1 1
1 1 1 1 1 0
Вот 0 – это минимум, и должна подматрица в левом верхнем углу выглядить так:
0 0 0 1 1 1
0 0 0 1 1 1
0 0 0 1 1 1
1 1 1 1 1 1
1 1 1 1 1 1
1 1 1 1 1 0

code: #pascal
program PascalGuru;
 
var A:array [1..50,1..50] of integer;
    i,j,n,min,m:integer;
 
begin
 write('N= '); readln(n);
 
 for i:=1 to n do
 for j:=1 to n do begin write('A[',i,',',j,']='); readln(A[i,j]); end;
 
 for i:=1 to n do begin writeln;
 for j:=1 to n do write (A[i,j]:8);  end;
 {******************************************}
 
 min:=A[1,1];
 for i:=1 to n do
 for j:=1 to n do
 if A[i,j]<min then min:=A[i,j];
 
 if n mod 2=0 then m:=n div 2 else m:=(n div 2)+1;
 
 
 for i:=1 to m do
 for j:=1 to m do A[i,j]:=min;
 
 writeln;
 writeln;writeln('Preobrazovannyi:');
 
 for i:=1 to n do begin writeln;
 for j:=1 to n do write (A[i,j]:8);  end;
 
 readln;
end.      
Поделиться:

Похожие статьи: