Laborator 04 - Tablouri

În acest laborator veţi învăţa să:

  • Să folosiţi corect tablouri unidimensionare şi bidimensionale în C.
  • Să interclasaţi 2 vectori.

Declararea vectorilor

Vectorii (numiţi mai corect, array-uri) se declară ca orice altă variabilă, după tiparul tip-dată nume-variabila;, cu menţiunea că după numele variabilei, vom specifica între paranteze pătrate numărul de elemente.

Array-urile în două dimensiuni se numesc în mod uzual matrice, şi se declară în mod similar, cu menţiunea că vom avea în ordine câte un număr de elemente înconjurat de paranteze pătrate pentru fiecare dimensiune în parte.

În definirea tablourilor, numărul de dimensiuni nu este limitat decât de raţiuni practice.

De exemplu, vom declara un vector de numere intregi, o matrice patratică de numere reale, şi un cub de caractere astfel:

Dimensiunile tablourilor

ATENŢIE! În standardul ANSI C, nu putem specifica dimensiunile vectorilor decât prin constante. Nu putem declara, de exemplu:

De asemenea, elementele array-urilor sunt numerotate în mod obligatoriu începând de la 0.

ATENŢIE! Numărul dintre paranteze pătrate din cadrul declaraţiei reprezintă numărul de elemente din vector, NU indicele maxim. Din cauză că elementele sunt numerotate începând de la 0, elementul cu indicele maxim din vector este mereu cu 1 mai mic decât dimensiunea vectorului!

Dacă veţi încerca să accesaţi elemente din vector cu indici negativi sau mai mari sau egali cu dimensiunea vectorului, programul vostru se va comporta imprevizibil!

Accesarea elementelor dintr-un tablou se face prin intermediul parantezelor pătrate. De exemplu:

Iterarea tablourilor

Una dintre cele mai frecvente operaţii cu tablouri o reprezintă iterarea elementelor din acestea. În mod uzual, iterarea elementelor din tablouri se face în C cu ajutorul unei bucle de tip for (dar se poate folosi, evident, oricare dintre instrucţiunile repetitive). De exemplu:

O altă observaţie importantă este că valorile folosite pe post de indici într-un tablou nu pot fi decât valori (sau variabile) întregi. Nu este permisă indexarea unui tablou folosind variabile de tip float sau double!

Iniţializarea tablourilor

Tablourile pot fi iniţializate în momentul declarării. Specificarea valorilor din tablouri se face listând în ordine, valorile elementelor, începând cu elementul de pe poziţia 0. De exemplu:

Atunci când în lista de valori sunt specificate mai puţine valori decât dimensiunea vectorului, vectorul se completează cu zerouri! O metoda convenabilă de a iniţializa un vector local unei funcţii cu valoarea 0 poate fi iniţializarea cu o singură valoare de 0, restul completându-se automat.

Iniţializarea se poate face şi atunci când este vorba de tablouri în mai multe dimensiuni. Trebuie de ţinut în acest caz minte că o matrice este un vector de vectori, un cub este un vector de vectori de vectori, s.a.m.d.

În cazul iniţializării unei matrice, vom iniţializa de fapt câte un vector pentru fiecare linie. Este recomandabil să facem asta respectând următorul coding style:

Observaţi că orice linie incompletă din matrice se va completa automat cu 0. Putem scrie un cod similar şi pentru iniţializarea matrice cu din ce în ce mai multe dimensiuni.

Probleme

Vezi pagina: 1  (12 rezultate)
Titlul problemeiAutorSursă
Problema 1 (rezolvată)ad-hoc
Problema 2ad-hoc
Problema 3ad-hoc
Problema 4ad-hoc
Problema 5ad-hoc
Problema 6ad-hoc
Problema 7ad-hoc
Problema 8ad-hoc
Problema 9ad-hoc
Problema 10ad-hoc
Problema 11ad-hoc
Problema 12ad-hoc
Vezi pagina: 1  (12 rezultate)