Informatică, întrebare adresată de tavi290, 8 ani în urmă

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

Răspuns de boiustef
1

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.

 

Alte întrebări interesante