Sunteți pe pagina 1din 10

PRELUCRARI SPECIFICE

TABLOURILOR BIDIMENSIONALE
CONTINUT
Notiuni introductive
Declararea unui tablou bidimensional
Citirea elementelor unui tablou bidimensional
Afisarea elementelor unui tablou bidimensional
Parcurgerea elementelor unui tablou bidimensional
https://programareliceu.wordpress.com/materiale-
informatica/lectii-exercitii-perioada-suspendare-cursuri/
: Declararea unui tablou bidimensional
1.Declararea unui tablou
bidimensional:
Matrice cu n linii si m coloane:
tip_data nume[nr_1][nr_2];
a[0][0] a[0][1] a[0][2] ….…a[0][m-1]
unde nr_1=numarul de linii
nr_2 = numarul de coloane. a[1][0] a[1][1] a[1][2]….….a[1][m-1]
………………………………………...
Ex: int a[10][10]; a[n-1][0] a[n-1][1] a[n-1][2]….a[n-1][m-1]

2.Referirea la un element al
matricei se face prin constructia:
nume[indice_1][indice_2].

Ex: a[4][5]-elementul de pe linia cu


indicele 4 si coloana cu indicele 5.
Algoritmi pentru prelucrarea tablourilor
1.Citirea de la tastatura a valorilor 3.Parcurgerea elementelor unei
elementelor unei matrice: matrice:

int a[10][10],n,m,i,j; for(i=0;i<n:i++)


cout<<”n=”; cin>>n; for(j=0;j<m;j++)
cout<<”m=”; cin>>m; ……………....; //se prelucreaza
for(i=0;i<n:i++) elementul a[i][j]
for(j=0;j<m;j++)
{ cout<<”a[”<<i<<”][”<<j<<”]=”;
cin>>a[i][j];}

2.Afisarea pe ecran a valorilor


elementelor unei matrice:

for(i=0;i<n:i++)
{ for(j=0;j<m;j++)
cout<<a[i][j]<<” ”;
cout<<endl;}
Exemplu
Se citesc de la tastatura elementele unei matrice cu maxim 10 linii si 10 coloane,
numere intregi.Afisati matricea si determinati suma elementelor matricei:
#include <iostream>
using namespace std; for(i=0;i<n;i++) //determinarea sumei
int main() for(j=0;j<m;j++)
{ {
int a[10][10],n,m,i,j,s=0; s=s+a[i][j];
cout<<"n="; cin>>n; }
cout<<"m="; cin>>m; cout<<"suma elementelor este:"<<s;
}
for(i=0;i<n;i++) //citirea elementelor
for(j=0;j<m;j++)
{
cout<<"a["<<i<<"]["<<j<<"]=";
cin>>a[i][j];
}

for(i=0;i<n;i++) //afisarea matricei


{for(j=0;j<m;j++)
cout<<a[i][j]<<" ";
cout<<endl;
}
Fisa de lucru
1.Se citeste de la tastatura o matrice cu maxim 10 linii si 12
coloane numere intregi.
- Determinati cate elemente pare contine
matricea.
- afisati primul si ultimul element din matrice.
- afisati valorile elementelor de pe prima linie a
matricei.
- afisati produsul numerelor negative din matrice.
NUMARAREA COMPONENTELOR DUPA UN CRITERIU
#include <iostream>
using namespace std;
int main()
{
int a[10][10],n,m,i,j,K=0;
cout<<"n="; cin>>n; //unde n-numarul de linii
cout<<"m="; cin>>m; // m-numarul de coloane
//citirea elementelor
for(i=0;i<n;i++)
for(j=0;j<m;j++) {cin>>a[i][j];}
//afisarea matricei
for(i=0;i<n;i++)
{for(j=0;j<m;j++) { cout<<a[i][j]<<" ";}
cout<<endl;
// numararea componentelor pozitive
for(i=0;i<n;i++)
for(j=0;j<m;j++) {if (a[i][j]>0); K=K+1}
cout <<“elemente pozitive sunt: “ <<K;
}
NUMARAREA COMPONENTELOR DUPA UN CRITERIU
#include <iostream>
using namespace std;
int main()
{
int a[10][10],n,m,i,j,K,X=0;
cout<<"n="; cin>>n; //unde n-numarul de linii
cout<<"m="; cin>>m; // m-numarul de coloane
//citirea elementelor
for(i=0;i<n;i++)
for(j=0;j<m;j++) {cin>>a[i][j];}
//afisarea matricei
for(i=0;i<n;i++)
{for(j=0;j<m;j++) { cout<<a[i][j]<<" ";}
cout<<endl;
// numararea componentelor pare si a componentelor impare
for(i=0;i<n;i++)
for(j=0;j<m;j++) {if (a[i][j] %2 ); K=K+1; else X=X+1}
cout <<“elemente pare sunt: “ <<K<<endl;
cout <<“elemente impare sunt: “<<X;
}
DETERMINAREA VALORII MAXIMALE
#include <iostream>
using namespace std;
int main()
{
int a[10][10],n,m,i,j,M; // unde M-valoarea maximala
cout<<"n="; cin>>n; //unde n-numarul de linii
cout<<"m="; cin>>m; // m-numarul de coloane
//citirea elementelor
for(i=0;i<n;i++)
for(j=0;j<m;j++) {cin>>a[i][j];}
//afisarea matricei
for(i=0;i<n;i++)
{for(j=0;j<m;j++) { cout<<a[i][j]<<" ";}
cout<<endl;
// determinarea maximalei
M=a[0][0];
for(i=0;i<n;i++)
for(j=0;j<m;j++) {if (a[i][j]>M) M=a[i][j]’;}
cout <<“maximala este: “ <<M;
}
SA SE AFISEZE LOCUL (linia si coloana separate prin spatiu) SAU
LOCURILE DACA SUNT MAI MULTE VALORI MAXIME(cate unul pe linie)
#include <iostream>
using namespace std;
int main()
{
int a[10][10],n,m,i,j,M; // unde M-valoarea maximala
cout<<"n="; cin>>n; //unde n-numarul de linii
cout<<"m="; cin>>m; // m-numarul de coloane
//citirea elementelor
for(i=0;i<n;i++) for(j=0;j<m;j++) {cin>>a[i][j];}
//afisarea matricei
for(i=0;i<n;i++) {for(j=0;j<m;j++) { cout<<a[i][j]<<" ";} cout<<endl;}
// determinarea maximalei
M=a[0][0];
for(i=0;i<n;i++) for(j=0;j<m;j++) {if (a[i][j]>M) M=a[i][j]’;}
// afisarea liniei si coloane valorii maximale
for(i=0;i<n;i++) for(j=0;j<m;j++) {if (a[i][j]==M) cout<<i<<“ “<<j’;endl;}

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