Sunteți pe pagina 1din 6

MINISTERUL EDUCAŢIEI, CULTURII ȘI CERCETĂRII AL REPUBLICII MOLDOVA

UNIVERSITATEA TEHNICĂ A MOLDOVEI


Facultatea Calculatoare, Informatică şi Microelectronică

Departamentul Informatică și Ingineria Sistemelor

Lucrare de laborator Nr. 3


Tema: Prelucrarea tablourilor unidimensionale
(vectorilor) în limbajul C

Disciplina: Programarea calculatoarelor

A elaborat st. gr. CR-211 FR, Sava Victoria

A verificat conf. univ., dr. Toma Olga

Chisinău 2021
Lucrare de laborator nr. 3
Tema : Prelucrarea tablourilor unidimensionale (vectorilor) în limbajul C

1. Scopul lucrării

Studierea posibilităților și mijloacelor limbajului C pentru programarea algoritmilor cu


structură ramificată și ciclică la prelucrarea tablourilor unidimensionale.

2. Condiția

Scrieți un program care citește de la tastatură numărul n>1 de elemente ale tabloului, apoi
citește de la tastatură aceste n elemente ale tabloului, efectuează calculele indicate în variantă
și afișează pe ecran rezultatul:

Varianta 9. Să se determine valoarea maximală negativă dintre elementele tabloului și


poziția elementului cu această valoare, precum și numărul elementelor negative în tablou.

Mersul lucrării :

Noțiuni teoretice și metode folosite :

Numim tablou o colectie (grup, multime ordonata) de date, de acelasi tip, situate într-o zona
de memorie continua (elementele tabloului se afla la adrese succesive). Tablourile
sunt variabile compuse (structurate), deoarece grupeaza mai multe elemente. Variabilele
tablou au nume, iar tipul tabloului este dat de tipul elementelor sale. Elementele tabloului pot
fi referite prin numele tabloului si indicii (numere întregi) care reprezinta pozitia elementului
în cadrul tabloului.

În functie de numarul indicilor utilizati pentru a referi elementele tabloului, putem întâlni
tablouri unidimensionale (vectorii) sau multidimensionale (matricile sunt tablouri
bidimensionale).

Ca si variabilele simple, variabilele tablou trebuie declarate înainte de utilizare.

Modul de declarare:
tip nume_tablou[dim_1][dim_2].[dim_n];

unde:tip reprezinta tipul elementelor tabloului; dim_1,dim_2,...,dim_n sunt numere întregi


sau expresii constante întregi (a caror valoare este evaluata la compilare) care reprezinta
limitele superioare ale indicilor tabloului.

Tabloul unidimensional este o structura de date careia i se atribuie un nume. Este format
dintr-o colectie de elemente de acelasi tip, asezate continuu in memorie. Elementele pot fi
accesate individual prin indici. Toate elementele au un predecesor (cu exceptia primului
element) si un succesor (cu exceptia ultimului element). Pentru a declara un tablou
unidimensional ai nevoie de 3 proprietati: tipul, numele si dimensiunea acestuia. Cateva
exemple:

 int V[25]; // un tablou ce retine 25 de numere intregi


 char s[40]; // un tablou ce retine 40 de caractere
 float x[30]; // un tablou ce retine 30 de numere reale

Un element al unui tablou poate fi utilizat ca orice alta variabila. Ca sa accesezi un element
dintr-un tablou trebuie sa faci referire la indicele acestuia, trecut intre paranteze drepte. Un
aspect important este faptul ca poti efectua operatii doar asupra unui singur element, nu
poti modifica tot tabloul deodata.

Initializarea tablourilor unidimensionale

Tablourile, la fel ca si variabilele pot fi initializate in trei moduri:

 Prin introducerea datelor de la tastatura


 Prin declararea acestuia global – toate elementele vor fi zero

 Imediat dupa declararea acestora

(vezi in video cum am intializat pe rand tablourile)

Accesul elementelor dintr-un tablou unidimensional

 Accesul fiecarui element al tabloului se face prin numele acestuia urmat intre
paranteze drepte [ ] de indicele sau (adica pozitia pe care acesta o ocupa in tablou)
 In limbajul C++ , indicii tablourilor incep numaratoarea de la 0 si se termina la N – 1
(unde N este numarul total de elemente)

3. Listingul Programului
1. Se declara variabilele i,n,x[20], min, li,k; de tip intreg.

2. i - variabila care ajuta la crearea ciclului for

n - variabila care arata numarul maxim de elemente din tablou

x[20] - declararea tabloului si spatiul maxim care va fi acordat pentru el

min - variabila carei ii vom atribui valoarea minima

li - pozitia din tablou al elementului

k - variabila care se va incrementa atunci cand va gasi un element negativ

3. Citim de la tastatura n, apoi folosind ciclul for citim de la tastatura elementele tabloului unidimensional

4. Initializam valoarea min si li cu elementul 0 . min=x[0]; li=0;

5. Cream inca un ciclu for care va calcula cate elemente negative sunt in tablou, atribuind numarul variabilei k

6. Prin instructiunea if gasim elementul minim si pozitia acestuia

if(x[i]<min){ min=x[i]; li=i;}}

7. Afisam la ecran rezultatul


4. Rezultate
n= 5

x[0]=-10

x[1]=-20

x[2]=34

x[3]=9

x[4]=-21

min=-21 , li=4nr elementelor negative = 3

5. Schema logică

Start

N=

i=0

i<n-1

x[%d],i

x[i]

I++

Min=x[0] ; li=i
i=0

i<n-i

x[i]< k++
0

x[i]<m min=x[i]; li=i


in

I++

Min , li , k

stop

6. Concluzie

Am efectuat lucrarea cu privire la programarea și utilizarea tablourilor unidimensioanle. Am


insușit ultilizarea procedeelor de întroducere, afișare a tablourilor unidimensionale,
calcularea minimului, maximului, introducerea, ștergerea elementelor. Cât și elaborarea și
implimentarea algoritmilor de prelucrare a tablourilor. Am testat programele realizate cu
structurile ciclice pentru introducerea tabloului și repetitive pentru găsirea soluției problemei.

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