Sunteți pe pagina 1din 5

Universitatea Liberă Internațională din Moldova

Facultatea Informatică, Inginerie, Design


Catedra Tehnologii informaționale și Calculatoare
Disciplina: Structuri de date și algoritmi în C++

Lucrare de laborator Nr.2

Tema : utilizarea tablourilor uni și bidimensionale pentru scrierea


programelor în limbajul de programareC++

A efectuat student gr.TIR-26 Guminiuc Victor

A verificat profesor Mititelu Vitalii

Chișinău 2018
CUPRINS
1. Scopul lucrarii ............................................................................................................................................................................ 3
2. Sarcina ........................................................................................................................................................................................ 3
3. Teorie ......................................................................................................................................................................................... 3
4. Mersul lucrarii ............................................................................................................................................................................ 4
4.1 Scrierea progreamului ............................................................................................................................................................... 4
4.2 Rezultatul obtinut ..................................................................................................................................................................... 5
5. Concluzii .................................................................................................................................................................................... 5
1. Scopul lucrarii
Utilizarea tablourilor uni și bidimensionale pentru scrierea programelor în limbajul de programare C++.

2. Sarcina
Scrieți un program care prelucrează tablourile așa cum este indicat în variantă, apoi afișează pe ecran
rezultatul (la variantele în care este vorba despre diagonala principală sau secundară matricele sunt pătratice, în
celelalte cazuri – obișnuite):

Varianta nr.5 : calculează produsul elementelor impare ale unui vector.

3. Teorie
Tablouri unidemensionale(siruri vectoriale)
Utilizare:
Se folosesc pentru a pastra in memorie mai multe valori sub un singur nume.

Declararea variabilelor de tip tablou

Se precizeaza tipul elementelor din sir, numele sirului si numarul maxim de elemente care se vor retine in sir.
ex: int x[100]- am declarat vectorii care sa poata retine maxim 100 de elemente intregi.

Referirea unui element

Se face precizand numele sirului si pozitia pe care o ocupa elementul in sir intre parantezele patrate.
ex: x[5] , x[99] , x[k];

Initializarea variabilelor de tip tablou:

Se poate face numai o data cu declararea de tip nume S[max]={v0, v1, v2….}

<=>nume S[0];
nume S[1];
nume S[2];
Prima valoare din lista de initializare se pastreaza pe pozitia 0 , a doua pe pozitia 1 etc. Daca odata cu
declansarea se face si initializare atunci dimensiunea maxima nu este obligatorie. In acest caz dimensiunea maxima va
fi egala cu numarul de elemente din lista de initializare.

Observatie:

 vectorii nu pot fi prelucrati la nivel global ci numai la nivel de elemente;


 nu intotdeauna se folosesc toate spatiile allocate;
 inainte de a citi vectorul vom preciza numarul de elemente utilizate dintre cele allocate;
 vom numi acest numar lungimea vectorului;

Tablouri Bidimensionale (Matrici)


Utilitate:
Se folosesc pentru a pastra mai multe valori in memorie , uneori grupate pe categori.
Declararea:
Se precizeaza tipul elementelor din matrice, numele matrici, nr maxim de linii si nr maxim de coloane

Forma generala:
Tip nume M [lmax][cmax] ;

Referirea unui element se face precizand, numele matrici, linia pe care se afla elementul, coloana pe care se
afla elementul , intre paranteze patrate nume M[linie][coloane]

Observatie:
Fie matricea a cu 3 linii si 4 coloane.
l=3; c=4;
A11 A12 A13 A14
A21 A22 A23 A24
A31 A32 A33 A34

Reprezentarea in memorie : elementele matrici ocupa un spatiu compact de dimensiune egal cu nr de lini inmultit cu
nr de coloane.O line din matrice este defapt un sir.

Matrici patratice
Spunem despre o matrice ca este patratica daca nr de linii e egal cu cel de coloane .

Matricile patratice admit:


 diagonala principala: uneste coltul din stanga sus cu cel din dreapta jos ;
 diagonala secundara si uneste coltul din dreapta sus cu cel din stanga jos ;

4. Mersul lucrarii

4.1 Scrierea progreamului


#include <iostream>
#include <string>

using namespace std;


int main()
{
int i,j,n=0;
cout << "Introduceti marimea matricei : ";
cin >> n;
int m[n];
for(i=0;i<n;i++){
cout << "introduceti elementul "<<
"["<<i+1<<"]"<<" : ";
cin >> m[i];
}
int suma_imp=0;
for(i=0;i<n;i++){
if(m[i]%2 != 0){
suma_imp=suma_imp+m[i];
}
}
cout << "Suma nr. impare : "<<suma_imp<<endl;
return 0;
}
4.2 Rezultatul obtinut

5. Concluzii
Am avut insarcinarea de a elabora un program folosind matrice undimensionala cu scopul de a calcula suma
elementelor impare a acestuia. In procesul de calculare am folosit functia FOR si IF.

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