Tablouri și Șiruri

Previzualizare curs:

Extras din curs:

TABLOURI SI SIRURI

În esenta un tablou este o lista de variabile de acelasi tip. Un tablou de caractere poarta numele de sir. Accesul la un element al tabloului se face cu ajutorul unui indice sau mai a multi indici. Tablourile ocupa în memorie locatii contigue. Tablourile pot avea una sau mai multe dimensiuni. Sirurile, tablouri unidimensionale sunt terminate cu un caracter special, caracterul null (‘�’).

Între tablouri si pointeri exista o legatura strânsa.

Tablouri unidimensionale

Forma generala de declarare a unui tablou unidimensional este:

tip nume_tablou [dimensiune];

unde:

- tip - declara tipul de baza al tabloului, care este tipul fiecarui element al tabloului;

- dimensiune – specifica numarul de elemente ale tabloului;

- nume_tablou - este numele dat tabloului.

De exemplu, pentru a declara un tablou t cu 10 elemente de tip int cu elementele t[0],

t[1] …t[9] vom scrie:

int t[10];

Un element al tabloului este accesat prin indexarea numelui tabloului folosind numarul elementului. Primul element al tabloului are indexul 0. Pentru a indexa un tablou, trebuie specificat numele tabloului urmat de indexul elementului între paranteze drepte.De exemplu al doilea element al tabloului t poate fi accesat prin t[1].

Exemplu. Program pentru a initializa elementele tabloului t cu valori cuprinse între 0 si 9.

# include <stdio.h>

void main (void)

{

int i, t[10];

for (i=0; i<10; ++i)

x[i] = i;

}

Necesarul de memorie pentru memorarea elementelor unui tablou unidimensional este direct proportional cu tipul si dimensiunea sa, total octeti =sizeof(tip) * dimensiune

Elemetele unui tablou sunt memorate într-o zona de memorie contigue în ordinea indicilor.

Limbajul C nu controleaza limitele unui tablou. Astfel se poate depasi ambele “margini” ale unui tablou, se poate scrie valoarea unui element de tablou în locul altor variabile sau peste instructiunile masina ale programului. De aceasta problema este raspunzator cel care scrie programul si nu compilatorul C. De exemplu:

int x[10],i;

for (i = 0; i < =10; i ++) x [i] = i;

determina x sa depaseasca limitele.

Un element de tablou poate sa apara oriunde pot apare variabile simple sau constante, în general în cadrul expresiilor. În C nu este posibil sa copiem direct elementele unui tablou în alt tablou, printr-o instructiune de atribuire de forma:

int x[5], y[5];

y + x; /* nu este posibil */

y=x; /* nu este admis*/

Pentru a realiza acest lucru este necesar sa copiem fiecare element în mod explicit, adica:

int x [5], y[5], i;

for (i = 0; i < 5; ++i)

y[i] = x[i];

sau

for (i =1; i <6; i++)

y[i-1] = x[i-1];

Pentru a citi valorile elementelor unui tablou cu functia scanf, este necesar a se pune operatorul & (de adresa) în fata elementului de tablou. De exemplu pentru a citi elementele tabloului x putem scrie:

for (i = 0; i < 5; ++i){

print f (“ x[%d] =”,i);

scan f (“ %d”, & x[i]);

}

Exemplu. Program ce realizeaza ordonarea unui tablou care are cel mult 50 elemente prin metoda “bulelor”.

# include <stdio.h>

void main (void)

{

int x[50];

int i, j, n, a, k;

print f(“Introduceti numarul elementelor tabloului n<=50”);

scanf(“%d”, &n);

print f(“ n Introduceti elementele tabloului”);

for (i=0; i<n; i++){

printf(“ n x[%d] = “, i);

scanf (“%d”, &x[i]);

}

do {

k = 0;

for (i = 0; i < n-1; i++)

if (x[i] > x[i+1]){

a = x[i];

x[i] = x[i+1];

x[i+1] = a;

k = 1

}

} while (k! = 0);

print f (“Tabloul ordonat: n”);

for (i = 0; i < n: i++)

Download gratuit

Documentul este oferit gratuit,
trebuie doar să te autentifici in contul tău.

Structură de fișiere:
  • Tablouri si Siruri.doc
Alte informații:
Tipuri fișiere:
doc
Nota:
7/10 (1 voturi)
Nr fișiere:
1 fisier
Pagini (total):
9 pagini
Imagini extrase:
9 imagini
Nr cuvinte:
2 575 cuvinte
Nr caractere:
14 048 caractere
Marime:
15.50KB (arhivat)
Publicat de:
NNT 1 P.
Nivel studiu:
Facultate
Tip document:
Curs
Domeniu:
Limbaje de Programare
Predat:
la facultate
Materie:
Limbaje de Programare
Sus!