Sunteți pe pagina 1din 4

Universitatea de Stat din Moldova

Facultatea de Fizic i Inginerie


Catedra Fizic Aplicat i Informatic

Lucrare de laborator nr.4

Tema: Tablouri bidimensionale V9

A efectuat: Ursu Dan


A verificat: Grisco V. lector

Chiinu, 2015
Tablouri bidimensionale. Aplicaii

Definire, declarare, prelucrri elementare


Un tablou pentru care la declarare trebuie s specificm dou dimensiuni, iar poziia unui
element este specificat utiliznd doi indici, se numete tablou bidimensional sau matrice.
Primul indice utilizat n referirea unui element este denumit indice de linie, iar cel de al doilea
indice este denumit indice de coloan.
Exemplu: declarm o matrice cu dou linii i trei coloane cu elemente de tip int, pe care o vom
iniializa la declarare.
int a[2][3]={{1,2,3},{4,5,6}};

Putem s ne imaginm matricea astfel:


coloana 0
linia 0
1
linia 1
4

coloana 1
2
5

coloana 2
3
6

Pentru a ne referi la elementul de pe linia 0, coloana 2 din matricea a vom scrie a[0][2].
Pentru a ne referi la elementul de pe linia 0, coloana 2 din matricea a vom scrie a[0][2].
Citirea unei matrice se realizeaz ca n exemplul de mai jos:
int a[100][100],n,m,i,j;
cin>>n>>m;
for(i=0;i<n; i++)
for(j=0;j<m;j++)
cin>>a[i][j];

Afiarea unei matrice:


for(i=0;i<n; i++)
{
for(j=0;j<m;j++)
cout<<a[i][j]<<' ';
cout<<endl;}

Parcurgerea unei matrice pe linii


S presupunem c trebuie s calculm suma elementelor de pe fiecare linie a matricei:

int s;
for(i=0;i<n; i++)
{
s=0;
for(j=0;j<m;j++)
s=s+a[i][j];
cout<<Suma elementelor de pe linia <<i<< este <<s<<endl;
}

Parcurgerea unei matrice pe coloane

Ex:1
De calculate media aritmetica a elementelor de pe primul rind si ultima coloana

Rezolvare:
#include<stdio.h>
#include<conio.h>
void main()
{
int a[100][100],i, j, n, s=0;
float media;
clrscr();
printf("Dimensiunea: ");
scanf("%d", &n);
for(i=0;i<n;i++){
for(j=0; j<n; j++){
printf("a[%d][%d]=",i, j);
scanf("%d", &a[i][j]);
}
}
for(i=0;i<n;i++)
{
s+=a[0][i];
}
for(i=1;i<n;i++)
{
s+=a[i][n-1];
}
media=(float)(s/(2*n-1)) ;
printf("Media aritmetica %f",media );
getch();
}

Ex2
De schimbat cu locul elementele coloanei doi cu elementele coloanei indicate de utilizator
Rezolvare:
#include<stdio.h>
#include<conio.h>
void main()
{
int a[100][100],i, j, n, c, temp;
clrscr();
printf("Dimensiunea: ");
scanf("%d", &n);
for(i=0;i<n;i++){
for(j=0; j<n; j++){
printf("a[%d][%d]=",i, j);
scanf("%d", &a[i][j]);
}
}
for(i=0;i<n;i++){
for(j=0; j<n; j++){
printf("%d ",a[i][j]);
}
printf("\n");
}
printf("Coloana: ");
scanf("%d", &c);
for(i=0;i<n;i++)
{
temp=a[i][1];
a[i][1]=a[i][c];
a[i][c]=temp;
}
for(i=0;i<n;i++){
for(j=0; j<n; j++){
printf("%d ",a[i][j]);
}
printf("\n");
}
getch();
}

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