Sunteți pe pagina 1din 1

Tablouri bidimensionale

(Matrice)

→ Matrice = un ansamblu/o colecție de valori de același ti I

reținute sub formă de linii și de coloane

→ Declararea unei matrice


(cat general - tip_date nume_matrice [nr. max.linii/(nr.max_coloane];

L exemple: int a[1001 [100].


float 450321000);

→ Tipuri de matrice
L oarecarenr. de linii poate diferi/dar NU este obligat să
o facă) de nr de coloane
avem 2 dimensiuni distincte-de regulă n și m
'pătratică nr. de linii este fix egal cu nr. de coloane
avem o singură dimensiune-de regulă n

→ Accesarea unui element dintr-o matrice


cat general - nume-matrice [index-linilindexcol oană];
L exemple - a[2)[43 210;
t[O] [o] =3.14;

• a fel ca la vectori, indexarea (numerotarea) liniilor

și a coloanelor începe de la o. Dacă vrem să lucrăm


cu indicii de la 1, declarăm dimensiunile matricei cu te

→ Parcurgerea unei matrice


L citire - matrice oarecare + indexare de la o
int mm, a[100] [100J,I,j"
cin» n » m;
for Liv, ian, itt /linii
fortj-o, jamjtil "coloane
andali] 2J]:
L citire- matrice pătratică + indexare de la 1
int n,alea] [101J, i.f;

ATENȚII → la dimensiuni
cinDn.
for ti-e. ia-n; itt) "linii
fortjuijan; "H "coloane
an» acitejt;
L afișare - matrice oarecare + indexare de la |

for line, Ian, itt)

£ fortjujani'-
I
cont «aliaj]
cont «endl; II cauta 'n';

• Dacă alegem indexarea de la 1 sau de la ◦ trebuie să


păstrăm aceeași indexare pe tot parcursul problemei

→ Chenarul unei matrice


L este format din prima și ultima linie, prima și ultima coloană

2 7 13 15 16
80 90 57 33 44
21 50 61 22 41

79 19 81 18 9

intii 8;
for (i-o, "< n-1. 7)

cont «alo] /- ] « ' 1; II linie-2,7, 13,15


for (i-o: Ian-1; itt
cont Kali] [m-1) «' " , Hult. coloană-16,44, 41

fortjim-i jsoij--l
caut «am-☑ Cj] «' ' ; Mult-linie-$118181,19

for/în"iizo; i -|
cont «aci] [o] « I 1, "I coloană-79, 21,80

Ț indexare de la 1 ⇒ te la toate limitele


0 1
M-1 n
m-1 → m

→ Bordarea unei matrice

Loperație care se realizează în problemele în care


elementul curent este comparat cu „vecinii"săi
L presupune inițializarea a două linii și două coloane
suplimentare în matrice și, OBLIGATORIU, indexarea de
la 1
int mm, a[102321023 iaj;
M-indexare de la 1
> te-bordare
1 Citirea matricei
"Bordare
forli-o; (cante. itt)

aci] [03 = 10; 11 I coloană

aci) (mti]-10; 4 ultima coloană

for Go; jamte, jt

alo] [ = 10, "I linie

alntaj) 10; "ultima linie

1 Alte operații

10 10 10 10 10
10 2 6 3 10
10 4 8 5 10
10 10 10 10 10

→ Linii importante în matricea pătratică


Nisus)
15 20 25 30 → Diagonală secundară (B)
10
3 40 45 O
55
65 70 75 80 I(dreapta)
V1stânga) a
90 95 2 4
85
8 12 16
6 > Diagonală principală (A)
( 'os

⊛ → relația dintre indici

→ parcurgerea elementelor diagonalei

for '-1; ia-n: itt)


"lucrăm cu aci] [I],
→ zone determinate de diagonala principală
- deasupra D.P. - I

- sub D.P. - isj


⑧ → relația dintre indici
+ antl • dacă indexarea liniilor și a coloanelor
începe de la 1
- n-1 dacă indexarea liniilor și a coloanelor
"
începe de la o

→ parcurgerea elementelor diagonalei

itj anti ⇒ -= nu-i


⇒ for (ia, ia-niitt)
"lucrăm cu aci] Ente-i];

→ zone determinate de dia onala secundară


- deasura DS. - i_ - anti - . < n-1

- sub D.S. - iti > nti it' > n-

indexare de indexare de -
la ☐ la@

⑥ Zone determinate de ambele diagonale

→ zona de Nord (sus)-deasupra D.P. + deasupra D.S.

iaj & & Aj < mi


→ zona de Sud (jos) -sub D.P. + sub D.s.

isj & & it. > nte


→ zona de Est (dreapta)-deasupra Δ.P. + sub D.S.
I
iaj & & itj > nu
→zona de Vest (stânga)-sub D.P. + deasupra A.S.
I
isj & & itj < n+1

→ Generarea de matrice
↳reprezintă un tip particular de problemă în care nu se mai citesc

deloc elementele matricei SAU se citesc doar o parte;


elementelor necitite li se vor atribui valori după o regulă
precizată
n general, se citesc doar dimensiunile efective de
matricei n și m → matr. oarecare
n → matr. pătratică
(de regulă,indexarea este de la 1

Lex.1- Aig este egal cu cel mai mic dintre indici

cinDn» m;
for Li-l. ia n; itt
for lj-i, jam; jtt)

{ if liaj)
Mj] = i.
else
alikj]-j,

Lex 2. Se citește un nr. natural ✗ și se notează cu


n nr. său de cifre. Să se construiască o matrice
cu n linii și n coloane completată cu cifrele lui n
a) pt. + -123 vom obține b) pt. ✗ = 12, vom obține
1 23 3 2 1
23 32 1
23
32 1
DE .
intx, nu, I,j, acea] [o .
cin ☑
int ⇐
while 1×1:o)
nt
- 110;
]
fortj-n; joi 18--14/b) forlja junijtt)

{ for(i-a,icniitt)
l acisljl-ci.io; "DEM
}
ce/10;
]

l/Afișare

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