top of page

Tablouri bidimensionale

 

1.Program ce calculeaza suma elementelor de pe diagonala principala a unui tablou bidimensional.

 

Program P1; {P1 - numele programului}

uses crt; {Directiva ce permite utilizarea bibliotecii CRT, adica pot fi executate astfel de functii, precum: curatarea ecranului dupa executare, adaugarea culorilor, sunetelor in program etc.}

var T: array[1..100,1..100] of integer; {Declaram variabila T de tip array , elementele de tip integer- matrice cu nu mai mult de 100 de randuri si coloane}

s, n, m, i, j: integer; {Declaram variabilele s1, s2, s3, n, m, i, j de tip integer - numere intregi}

begin {Inceputul programului}

clrscr; {Comanda ce va curata automat ecranul dupa executie}

textcolor(3); {Coloreaza textul programului in culoarea cu nr. 3}

textbackground(9); {Coloreaza fundalul programului in culoarea cu nr. 9}

write('Introdu nr.(<100) de randuri si coloane: '); {Afiseaza pe ecran  "Introdu nr.(<100) de randuri si coloane: "}

readln(n, m); {Citeste numerele introduse de la tastatura, atribuie variabilelor  valorile respectivetrece in rand nou}

for i:=1 to n do {Parcurge toate elementele  de pe randuri, se repeta pana cand i=n si efectueaza urmatoarele sarcini}

for j:=1 to m do {Parcurge toate elementele  de pe coloane, se repeta pana cand j=m si efectueaza urmatoarele sarcini}

begin {Inceputul ciclului} 

write('T[',i,j,']= '); {Afiseaza pe ecran  "T[", afiseaza valorile lui i si j, afiseaza " ]="}

readln(T[i]); {Citeste valoarea introdusa de la tastatura si o atribuie elementului de pe pozitia corespunzatoaretrece in rand nou}

end; {Sfarsitul ciclului; intoarcere la sintaxa for}

writeln('Ati introdus: '); {Afiseaza pe ecran  "Ati introdus "trece in rand nou}

for i:=1 to n do {Parcurge toate elementele de pe randuri, se repeta pana cand i=n si efectueaza urmatoarea sarcina}

begin {Inceputul ciclului} 

for j:=1 to m do {Parcurge toate elementele  de pe coloane, se repeta pana cand j=m si efectueaza urmatoarea sarcina}

write(T[i,j]:3); {Afiseaza pe ecran  valoarea fiecarui element, cu 3 spatii intre ele}

writeln; {Trece in rand nou}

end; {Sfarsitul ciclului; intoarcere la sintaxa for}

s:=0; {Ii atribuim variabilei s, care va calcula suma elemetelor de pe diagonala principala, valoarea initiala 0}

for i:=1 to n do {Parcurge toate elementele de pe randuri, se repeta pana cand i=n si efectueaza urmatoarea sarcina}

for j:=1 to n do {Parcurge toate elementele  de pe coloane, se repeta pana cand j=m si efectueaza urmatoarea sarcina}

begin {Inceputul ciclului} 

if i=j then{Daca i=j}

s:=s+T[i,j]; {Adaugam la valoarea variabilei valoarea elementelor situate pe pozitiile respective}

writeln('Suma elementelor de pe diagonala principala este ',s); {Afiseaza pe ecran  "Suma elementelor de pe diagonala principala este ", afiseaza valoarea lui s, trece in rand nou}

readkey; {La apasarea unei taste, trece din ecranul negru in ecranul albastru}

end. {Sfarsitul programului}

 

 

2.Program ce calculeaza suma elementelor de sub diagonala secundara a unui tablou bidimensional.

 

Program P2; 

uses crt; 

var T: array[1..100,1..100] of integer; 

s, n, m, i, j: integer;

begin

clrscr; 

textcolor(4);

textbackground(1);

write('Introdu nr.(<100) de randuri si coloane: ');

readln(n, m);

for i:=1 to n do

for j:=1 to m do 

write('T[',i,j,']= ');

readln(T[i]); 

end;

writeln('Ati introdus: ');

for i:=1 to n do 

begin

for j:=1 to m do 

write(T[i,j]:3);

writeln;

end;

s:=0; 

for i:=1 to n do

for j:=1 to n do

begin

if (i+j)>(n+1) then

s:=s+T[i,j];

writeln('Suma elementelor de sub diagonala secundara este ',s);

readkey;

end. 

 

 

3.Program ce calculeaza suma elementelor de deasupra diagonalei secundare a unui tablou bidimensional.

 

Program P3; 

uses crt; 

var T: array[1..100,1..100] of integer; 

s, n, m, i, j: integer;

begin

clrscr; 

textcolor(6);

textbackground(8);

write('Introdu nr.(<100) de randuri si coloane: ');

readln(n, m);

for i:=1 to n do

for j:=1 to m do 

write('T[',i,j,']= ');

readln(T[i]); 

end;

writeln('Ati introdus: ');

for i:=1 to n do 

begin

for j:=1 to m do 

write(T[i,j]:3);

writeln;

end;

s:=0; 

for i:=1 to n do

for j:=1 to n do

begin

if (i+j)<(n+1) then

s:=s+T[i,j];

writeln('Suma elementelor de deasupra diagonalei secundare este ',s);

readkey;

end. 

 

 

© Creat in 2015 de Mirela. Toate drepturile rezervate!!

bottom of page