Sunteți pe pagina 1din 16

Tablouri

bidimensionale
Tablourile
bidimensionale
se definesc cu ajutorul
construcţiei:
Type <Nume_tip>=Array[T1,T2] Of T3;
T1,T2-tipul indicilor;
T3-tipul elementelor.
Exemplu:
Matrice=Array[1..3,1..4] Of Real;
Componentele unei variabile de tip
tablou bidimensional
Se specifică explicit prin numele variabilei,
urmat de indicii pentru linie şi coloană
separaţi prin virgulă şi încadraţi în paranteze
pătrate.
De ex: Type T=Array[1..2,1..3] Of Integer;
Var A:T;
Notaţia A[1,3] specifică elementul din linia 1,
coloana a 3.
Parcurgerea unui tablou
bidimensional
Type T=Array[1..10,1..10] Of Real;
Var A:T; N,M,I,J:Byte;

For I:=1 To N Do
For J:=1 To M Do
<prelucreaza A[I,J]>;
Citirea elementelor unui tablou
bidimensional
Type T=Array[1..10,1..10] Of Real;
Var A:T; N,M,I,J:Byte;

For I:=1 To N Do
For J:=1 To M Do
Begin
Write(‘A[‘,I,’,’,J,’]=‘); Read(A[I,J])
End;
Afişarea elementelor unui tablou
bidimensional
Type T=Array[1..10,1..10] Of Real;
Var A:T; N,M,I,J:Byte;

For I:=1 To N Do Begin
For J:=1 To M Do
Write(A[I,J]:7:2); WriteLn
End;
Ex: Este dat un tablou
bidimensional cu N linii, M coloane
de numere întregi. Numărul de linii
şi coloane (N,M10) şi elementele
tabloului se citesc de la tastatură.
Calculaţi suma numerelor impare
din acest tablou.
Program Exemplu; Uses CRT;
Type T=Array[1..10,1..10] Of Integer;
Var A:T; N,M,I,J:Byte; S:Integer;
Begin ClrScr;
Write(‘Nr linii=‘); Read(N);
Write(‘Nr coloane=‘); Read(M);
For I:=1 To N Do
For J:=1 To M Do Begin
Write(‘A[‘,I,’,’,J,’]=‘); Read(A[I,J]) End;
S:=0;
For I:=1 To N Do
For J:=1 To M Do
If A[I,J] Mod 2<>0 Then S:=S+A[I,J];
WriteLn(‘suma numerelor impare=‘,S);
ReadKey End.
Ex: Este dat un tablou
bidimensional cu N linii, M coloane
de numere reale. Numărul de linii şi
coloane (N,M20) şi elementele
tabloului se citesc de la tastatură.
Calculaţi produsul numerelor
pozitive din acest tablou.
Program Exemplu; Uses CRT;
Type T=Array[1..20,1..20] Of Real;
Var A:T; N,M,I,J:Byte; P:Real;
Begin ClrScr;
Write(‘Nr linii=‘); Read(N);
Write(‘Nr coloane=‘); Read(M);
For I:=1 To N Do
For J:=1 To M Do Begin
Write(‘A[‘,I,’,’,J,’]=‘); Read(A[I,J]) End;
P:=1;
For I:=1 To N Do
For J:=1 To M Do
If A[I,J] >0 Then P:=P*A[I,J];
WriteLn(‘produsul numerelor pozitive=‘,P:7:2);
ReadKey End.
Ex: Este dat un tablou
bidimensional cu N linii, M
coloane de numere reale.
Numărul de linii şi coloane
(N,M20) şi elementele
tabloului se citesc de la
tastatură. Determinaţi valoarea
minimă din acest tablou.
Program Exemplu; Uses CRT;
Type T=Array[1..20,1..20] Of Real;
Var A:T; N,M,I,J:Byte; Min:Real;
Begin ClrScr;
Write(‘Nr linii=‘); Read(N);
Write(‘Nr coloane=‘); Read(M);
For I:=1 To N Do
For J:=1 To M Do Begin
Write(‘A[‘,I,’,’,J,’]=‘); Read(A[I,J]) End;
Min:=A[1,1];
For I:=1 To N Do
For J:=1 To M Do
If A[I,J] <Min Then Min:=A[I,J];
WriteLn(‘minim=‘,Min:7:2);
ReadKey End.
Ex: Este dat un tablou
bidimensional cu N linii, M coloane
de numere întregi. Numărul de linii
şi coloane (N,M50) şi elementele
tabloului se citesc de la tastatură.
Înlocuiţi elementele ce nu aparţin
perimetrului tabloului cu 0.
Type T=Array[1..20,1..20] Of Real;
Var A:T; N,M,I,J:Byte;
Begin ClrScr;
Write(‘Nr linii=‘); Read(N);
Write(‘Nr coloane=‘); Read(M);
For I:=1 To N Do
For J:=1 To M Do Begin
Write(‘A[‘,I,’,’,J,’]=‘); Read(A[I,J]) End;
ClrScr; WriteLn(‘Tabloul initial’);
For I:=1 To N Do Begin
For J:=1 To M Do Write(A[I,J]:5); WriteLn End;
For I:=2 To N-1 Do For J:=2 To M-1 Do A[I,J]:=0;
WriteLn(‘Tabloul modificat’);
For I:=1 To N Do Begin
For J:=1 To M Do Write(A[I,J]:5); WriteLn End;
ReadKey End.
Tema p/u acasă:
1. de studiat §1.1, pag.7-10
2. de rezolvat prob. 7, pag. 13

S-ar putea să vă placă și