Documente Academic
Documente Profesional
Documente Cultură
Indexarea datelor intr-un tablou 2- dim se face cu doi indici, la matematica valoarea initiala
a indicilor este de la 1, dar totusi se aloca memorie si pentru linia 0 si coloana 0. Vom declara
un tablou 2-dim in felul urmator Ex. <tip> A[8][10]. Tabloul A va contine maximal 8-linii si
10 – coloane. Automat se aloca memorie si pentru linia 0 si coloana 0 Daca intexarea va incepe
de la 1, atunci putem avea maxim 7- linii si 9- coloana. La matematica tabloul A[n][m] cu n-
linii si m- coloane se scrie in felul urmator:
Pentru a citi, a scrie, a parcurge un tablou 2- dimensional se folosesc 2 instructiuni ciclice una
in alta. Ex un for (i=1; i<=n; i++) si in acest for un alt for (j=1; j<=m; j++). Ciclul cu indicile j
se va executa pentru fiecare valoare a lui i. Vom avea (n*m - elemente)
Citirea: cin>>n>>m;
for (i=1; i<=n; i++)
for (j=1; j<=m; j++)
{ cout<<”A[“<<i<<”][”<<j<<”]=”; cin>>A[i][j]; }
Problema:
De parcurs tabloul A si de aflat suma numerele, numarul maxim, numarul minim:
int S=0, maxi=A[1][1], mini=A[1][1];
for (i=1; i<=n; i++)
for (j=1; j<=m; j++)
{ S+=A[i][j] ;
maxi=max(maxi,A[i][j]);
mmii=min(mini,A[i][j]);
}
Ex de program: Problema1
1. Citeste n, m
2. Citeste tabloul A
3. Scrie tabloul A, aliniind numerele in coloane
4. Afla si scrie suma- S; nr. maxim maxx;
numarul minim minn; cate numere sunt divizibile cu 3
#include <bits/stdc++.h>
using namespace std;
int A[10] [15], n, m, i, j;
int main()
{ cout<<"n="; cin>>n; // n- indica numarul de linii
cout<<"m="; cin>>m; // m- indica numarul de coloane
for (i=1; i<=n; i++)
for (j=1; j<=m; j++)
{ cout<<"A["<<i<<"]["<<j<<"]="; cin>>A[i][j]; }
cout<<"avem tabloul 2-dim"<<endl;
for (i=1; i<=n; i++)
{ for (j=1; j<=m; j++)
cout<<setw(5)<<A[i][j];
cout<<endl;
}
int S=0, maxx=A[1][1], minn=A[1][1], k=0;
for (i=1; i<=n; i++)
for (j=1; j<=m; j++)
{ S+=A[i][j];
maxx=max(maxx, A[i][j]);
minn=min(minn, A[i][j]);
if ( A[i][j] % 5 = =0) k++;
}
cout<<"Suma="<<S<<endl;
cout<<"numarul maxim="<<maxx<<endl;
cout<<"numarul minim="<<minn<<endl;
if (k) cout<<"numarul de nr divizibile cu 5 este k="<<k<<endl;
else cout<<"nu sunt numere divizibile cu 5"<<endl;
return 0; }
3.