Sunteți pe pagina 1din 4

Laboratorul 5

Tema: Tablouri bidimensionale (matrici)

Scopul lucrarii: Studierea şi utilizarea instrucţiunilor de bază ale limbajului


pentru prelucrarea şi modificarea masivelor bidimensionale.

Descrierea temei: Tabourile în C/C++ pot avea mai multe dimensiuni. O


modalitate comună de a le folosi este utilizarea matricelor cu linii şi coloane, fiind vorba în acest
caz despre tablouri cu două dimensiuni (bidimensional).
Tablou bidimensional - succesiune de locaţii de memorie recunoscute prin acelaşi identificator
şi prin poziţia fiecăreia în cadrul şirului. Poziţia este dată printr-o suită de două numere pozitive
(indexi), care reprezintă cele două dimensiuni (linie şi coloană).
Sintaxa de declarare a unui tablou bidimensional (matrice) este:
Tip nume[dim1][dim2];
unde:
Tip - poate fi unul din tipurile de bază folosit (int, float,char,...) sau un tip definit de utilizator
(articole, obiecte);
nume – numele prin care va fi referită matricea;
dim1 – numărul de linii din matrice;
dim2 – numărul de coloane din matrice.
Citirea elementelor unui tablou nu este posibilă decât prin citirea fiecărui element. De
aceea, ca şi în cazul vectorilor, operaţia de citire a matricelor impune folosirea a două secvenţe
ciclice suprapuse. Acestea corespund indicilor liniei i, respectiv coloanei j.
De multe ori nu ştim câte linii şi câte coloane va trebui să aibă tabloul. În acest caz, tabloul
se declară cu un număr maxim de linii şi un număr maxim de coloane, astfel, încât acesta să
corespundă oricărui set de date de intrare. Evident, într-un astfel de caz există o risipă de
memorie internă.
Prelucrarea elementelor unui tablou, de asemenea ca şi citirea/afişarea, nu este posibilă
decât prin analiza fiecărui element. De aceea, pentru a efectua o astfel de condiţie este nevoie a
folosi două secvenţe ciclice suprapuse, care vor corespunde indicilor liniei i, respectiv coloanei j.

Mod Coala Nr. document. Semnat. Data


Elaborat Stirbul A. Litera Coala Coli
Verificat V. Derevlenco 2 4
Tablouri bidimensionale
UTM.FET.RST-191
Varianta 2- Sa se scrie un program ce va prelucra un masiv bidimensional cu n linii si m
coloane, avand urmatoarele conditii:

a) Aranjati crescator elementele fiecarui rand;

b) Sa se afle cantitatea elementelor divizibile la 2 din coloana indicata de utilizator.

Rezolvarea programului:
#include <iostream>
#include <stdio.h>
#include <conio.h>
#include <math.h>
#include <stdlib.h>
using namespace std;
void main ()
{
int n, m, col, sum nr par=0;
cout<<”Introduceti n=”;
cin>>n;
cout<<”Introduceti m=”;
cin>>m;
int A[n][m];
for (int i=0; i<n; i++){
for (int j=0; j<m; j++){
cout <<”A[“<<i<<”][“<<j<<”]=”;
cin>>A[i][j];
}
}
for (int k=0; k<n; k++){
for (int i=0; i<m; i++){
for(int j=i+1; j<m; j++){
if (A[k][i]>A[k][j]){
int aux=A[k][i];
A[k][i]=A[k][j];
A[k][j]=aux;
}
}
}

Coala

Mod Coala Nr. document Semnat. Data


}
cout<<”Tabloul sortat:”<<endl;
for (int i=0; i<n; i++){
for (int j=0; j<m; j++){
cout<<A[i][j]<<” ”;
}
cout <<endl;
}
cout<<”Coloana indicata de utilizator=”;
cin>>col;
for (int i=0; i<n; i++){
if (A[i][col-1]%2==0){
sum_nr_par++;
}
}
cout <<”Cantitatea elementelor divizibile la 2 din coloana indicata de
user”<<col<<”=”<<sum_nr_par;
return 0;
}

Rezultatul executiei:

Concluzie:

In aceasta lucrare scris un program in limbajul de programare C/C++ care sa ne calculeze

rezultatul expresiilor de mai sus. .Conditia era ca sa se respecte intervalul minim 10 .Programul

este prezentat mai sus , la fel si rezultatul sau obtinut in urma scrierii acestui program.Programul

incepe prin decalarea bibliotecilor principale,<math.h> ,<iostream.h>,<stdio.h>,<conio.h>

,precum si prin functia principala main() si deschiderea/inchiderea programului prin { }.

Aici am folosit metoda substitutiei declarate prin variabilele Z,a,b,c,X, s=0 ;Am

utilizat si functia cout care are scopul de a permite afisarea datelor de orice tip si cin de a alege si

Coala

Mod Coala Nr. document Semnat. Data


a memora in memoria programului, getch este functia care pastreaza rezultatul la

ecran.Declararea bibliotecilor se incepe cu semnul #.

Coala

Mod Coala Nr. document Semnat. Data

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