TABLOURI

10
1. Declararea tablourilor 2. Tablouri unidimensionale

description

TABLOURI. Declararea tablourilor Tablouri unidimensionale. 1. Declararea tablourilor. Defini ţie : Numim tablou o colecţie ( grup , mulţime ordonată ) de date, de acelaşi tip, situate într -o zonă de memorie continuă ( elementele tabloului se afl ă la adrese succesive ). - PowerPoint PPT Presentation

Transcript of TABLOURI

Page 1: TABLOURI

1. Declararea tablourilor2. Tablouri unidimensionale

Page 2: TABLOURI

DefiniDefiniţieţie::Numim tablou o colecţie (grup, mulţime ordonată) de date, de acelaşi tip, situate într-

o zonă de memorie continuă (elementele tabloului se află la adrese succesive).

ProprietProprietăţile tablourilorăţile tablourilor::11oo Tablourile sunt variabile compusevariabile compuse (structurate), deoarece grupează mai multe

elemente.22oo Variabilele tablou au numenume, iar tipul tablouluitipul tabloului este dat de tipul elementelortipul elementelor sale.33o o Elementele tabloului pot fi referite prin numele tabloului şi indicii (numere întregi)

care reprezintă poziţia elementului în cadrul tabloului.

În funcţie de numărul indicilor utilizaţi pentru a referi elementele tabloului, putem întâlni tablouri unidimensionaleunidimensionale (vectorii) sau multidimensionalemultidimensionale (matricile sunt tablouri bidimensionale, tridimensionale etc.).

Page 3: TABLOURI

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19

vect

Page 4: TABLOURI

2) double p, q, tab[10];// declararea variabilelor simple p, q şi a vectorului tab, de maximum 10 elemente, tip double

3)#define MAX 10char tabc[MAX]; // declararea tabloului tabctabc de maxim MAX ( 10 ) elemente de tip charchar

// // (caracter).

4)double matrice[2][3]; // declararea tabloului bidimensional matricematrice cu maxim 2 linii şi // maxim 3 coloane cu elemente de tip double ( numere reale în // dublă precizie ).

p0.0

q0.0 0.0

0

tab 0.0

1

0.0

2

0.0

3

0.0

4

0.0

5

0.0

6

0.0

7

0.0

8

0.0

9

‘a’

0

tabc

‘A’

1

‘ ‘

2

‘?’

3

‘:’

4

‘=‘

5

‘1’

6

‘B’

7

‘c’

8

‘x’

9

Page 5: TABLOURI

0.0 0.0 0.0

0.0 0.0 0.0

0

1

0 21

DefiniDefiniţieţie::Tablourile unidimensionale Tablourile unidimensionale sunt tablouri cu un singur indice un singur indice (vectori). Dacă tabloul conţine dim_1dim_1 elemente, indicii elementelor au valori întregi din intervalul [ 0, dim_1 dim_1 - 1 ].

De reDe reţinutţinut::a) La întâlnirea declaraţiei unei variabile tablou, compilatorul alocă o zonă de memorie continuă (dată de produsul dintre dimensiunea maximă şi numărul de octeţi corespunzător tipului tabloului) pentru păstrarea valorilor elementelor sale.

Page 6: TABLOURI

b) Numele tabloului poate fi utilizat în diferite expresii şi valoarea lui este chiar adresa de început a zonei de memorie care i-a fost alocată.

c) Un element al unui tablou poate fi utilizat ca orice altă variabilă (în exemplul următor, atribuirea de valori elementelor tabloului vector).

d) Se pot efectua operaţii asupra fiecărui element al tabloului, nu asupra întregului tablou.

Exemple de utilizare a tablourilor uni dimensionale:Exemple de utilizare a tablourilor uni dimensionale:

Exemplul 1Exemplul 1// Declararea tabloului vectorvector.int vector[6];// Initializarea elementelor tablouluivector[0]=100;vector[1]=101;vector[2]=102;vector[3]=103;vector[4]=104;vector[5]=105;

0

vector

1 2 3 4 5

100

0

vector 101

1

102

2

103

3

104

4

105

5

Page 7: TABLOURI

100

0

vector 101

1

102

2

103

3

104

4

105

5

Page 8: TABLOURI

Exemplul 4Exemplul 4double x=9.8;double a[5]={1.2, 3.5, x, x-1, 7.5};

La declararea unui vector cu iniţializarea elementelor sale, numărul maxim de elemente ale tabloului poate fi omis, caz în care compilatorul determină automat mărimea tabloului, în funcţie de numărul elementelor iniţializate.

Exemplul 5Exemplul 5char tab[]={ ’A’, ’C’, ’D’, ’C’};

Exemplul 6Exemplul 6float data[5]={ 1.2, 2.3, 3.4 };

Adresa elementului de indice i dintr-un tablou unidimensional poate fi calculată astfel:adresa_elementului_i = adresa_de_bază + i lungime_element

‘A’

0

tab ‘C’

1

‘D’

2

‘C’

3

1.2

0

data 2.3

1

3.4

2

?

3

?

4

Page 9: TABLOURI

ExerciExerciţiiţii11) ) Citirea elementelor unui vector:

double a[5];int i;for (i=0; i<5; i++){ cout<<”a["<<i<<”]=”; //afişarea unui mesaj prealabil

//citirii fiecărui elementcin>>a[i]; //citirea valorii elementului de

indice i}

//sau:double a[20];int i, n;cout<<”Dim. Max. =”; cin>>n;for (i=0; i<n; i++){ cout<<”a[“<<i<<”]=”;

cin>>a[i];}

2)2) Afişarea elementelor unui vector:cout<<”Vectorul introdus este:\n”;for (i=0; i<n i++)

cout<<a[i]<<’ ’;

Page 10: TABLOURI

3) 3) Afişarea elementelor unui vector în ordine inversă:cout<<”Elementele vectorului în ordine inversă:\n”;

for (i=n-1; i>=0 i--)cout<<a[i]<<’ ’;

4) 4) Vectorul sumă (c) a vectorilor a şi b, cu acelaşi număr de elemente:for (i=0; i<n i++)

c[i]=a[i]+b[i];

5) 5) Vectorul diferenţă (c) a vectorilor a şi b, cu acelaşi număr de elemente:for (i=0; i<n i++)

c[i]=a[i] - b[i];

TEMĂ: Scrieţi în Borland C câte un program pentru fiecare din exerciţiile de mai sus, compilaţile şi executaţile.