Se consideră tablou A [1..N, 1.. N] de numerele întregi, unde N<=20. Scrieți un program care va aduna la fiecare element al tabloului inițial valoarea elementului maxim de pe diagonala principală.
In pascal.
Răspunsuri la întrebare
program modifMatrice;
const nmax=20;
type Matrice=array[1..nmax, 1..nmax] of integer;
var A:Matrice;
N, i, j, max:integer;
begin
write ('N='); read(N);
writeLn ('dati elementele matricei:');
for i:=1 to N do
for j:=1 to N do
begin
write('A[',i,',',j,']=');
readln(A[i,j]);
end;
{ cautam maximalul de pe diagonala principala }
max:=A[1,1]; { consideram ca A[1,1] este cel mai mare }
for i:=2 to N do
if A[i,i]>max then Max:=A[i,i];
{ adaugam max la fiecare element din matrice }
for i:=1 to N do
for j:=1 to N do
A[i,j]:=A[i,j]+max;
{ afisem matricea modificata }
for i:=1 to N do
begin
for j:=1 to N do
write(A[i,j], ' '); { afisare linie }
writeln; { trecere in rand nou }
end;
end.