PROIECT LA INFORMATICA Tablouri bidimrnsionale Matrici Ce este

PROIECT LA INFORMATICA Tablouri bidimrnsionale Matrici

Ce este informatica? Termenul informatică desemnează știința procesării sistematice a informației, în special a procesării cu ajutorul calculatoarelor. Termenul englez corespunzător este Computer Science (stiința calculatoarelor). Istoric, informatica s-a dezvoltat ca știință din matematică, în timp ce dezvoltarea primelor calulatoare își are originea în electrotehnică și telecomunicații. De aceea, calculatorul reprezintă doar dispozitivul pe care sunt implementate conceptelor teoretice. Informaticianul olandez Edsger Dijkstra afirma: "În informatică ai de-a face cu calculatorul, așa cum ai în astronomie cu telescopul".

Tablouri bidimensionale ● structuri de date alocate static care permit memorarea mai multor elemente de acelasi tip identificate prin intermediul a doi indici , primul dintre ei reprzinta linia iar celalalt coloana. i=indicele liniei j=inficele coloanei ! Tabloul de memorie fiind o structura de date statica, la declararea lui I se aloca o zona fixa de memorie. Lungime tabloului de memorie reprezinta numarul de elemente ale tabloului. La declararea tabloului este posibil sa nu se cunoasca numarul de elemente care vor fi prelucrate al fiecare executie a programului. In prelucrarea tabloului se folosesc doua lungimi: lungimea fizica si lungimea logica.
![Citirea: cin>>n>>m; for(i=1; i<=n; i++) for(j=1; j<=m; j++) cin>>a[i][j]; ! Afisarea: For(i=1; i<=n; i++) Citirea: cin>>n>>m; for(i=1; i<=n; i++) for(j=1; j<=m; j++) cin>>a[i][j]; ! Afisarea: For(i=1; i<=n; i++)](http://slidetodoc.com/presentation_image/5289cff8c6e9d5e55f4729104ea4f1af/image-4.jpg)
Citirea: cin>>n>>m; for(i=1; i<=n; i++) for(j=1; j<=m; j++) cin>>a[i][j]; ! Afisarea: For(i=1; i<=n; i++) {for(j=1; j<=m; j++) cout<<a[i][j]; cout<<endl; } Orice prelucrare a unu element din matrice presupune mai inati identificare elementelor si apoi aplicarea unui algoritm specific. Identificarea elementelor: ●Daca se stie locul(linia si coloana) ●Daca se stie lina (l): for(j=1; j<=m; j++) <prelucram a[l][j]> ●Daca se sie coloana: for(i=1; i<=n; i++) <prelucram a[i][c]>

Matricea patratica O matrice se numeste patratica daca numarul de linii este egal cu numarul de coloane. cin>>n; for(i=1; i<=n; i++) for(j=1; j<=n; j++) cin>>a[i][j]; Intr-o matrice patratica se definesc doua diagonale: Diagonala principala(DP): ●Pe DP i=j(elementele pot fi accesate direct folosind o singura repetitie) for(i=1; i<=n; i++) <prelucram a[i][i]> ●Deasupra DP i<j for(i=1; i<=n; i++) for(j=i+1; j<=n; j++) <prelucram a[i][j]> ●Sub DP i>j For(i=1; i<=n; i++) For(j=1; j<=i-1; j++) <prelucram a[i][j]>
![Diagonala secundara(DS) ●Pe DS i+j=n+1 for(i=1; i<=n; i++) <prelucram a[i][n+1 -i]> ●Deasupra DS i+j<n+1 Diagonala secundara(DS) ●Pe DS i+j=n+1 for(i=1; i<=n; i++) <prelucram a[i][n+1 -i]> ●Deasupra DS i+j<n+1](http://slidetodoc.com/presentation_image/5289cff8c6e9d5e55f4729104ea4f1af/image-6.jpg)
Diagonala secundara(DS) ●Pe DS i+j=n+1 for(i=1; i<=n; i++) <prelucram a[i][n+1 -i]> ●Deasupra DS i+j<n+1 for(i=1; i<=n-1; i++) for(j=1; j<=n-1; j++) <prelucram a[i][j]> ●Sub DS i+j>n+1 for(i=2; i<=n; i++) for(j=n+2; j<=n; j++) <prelucram a[i][j]>

Problema 1: Se da un numar n , reprezentand numarul de linii si de coloane dintr-o matrice patratica. Completati matricea astfel: n=41 2 3 4 8765 9 10 11 12 16 15 14 13 #include <iostream. h> void main() {int a[100], x, n, j, i; cin>>n; x=1; for(i=1; i<=n; i++) if(i%2==1) {for(j=1; j<=n; j++) a[i][j]=x; x++; } else for(j=n; j>=1; j{a[i][j]=x; x++; } for(i=1; i<=n; i++) {for(j=1; j<=n; j++) cout<<a[i][j]; cout<<endl; } cin>>n; }

Problema 2: Se citeste o matrice de la tastatura n si m si apoi o matrice n*m. Sa se determine minimul si maximul din matrice. #include<iostream. h> void main() {int a[100], n, m, max, min, I, j; cin>>n>>m; for(i=1; i<=n; i++) for(j=1; j<=m; j++) cin>>a[i][j]; max=-32000; min=32000; for(i=1; i<=n; i++) for(j=1; j<=m; j++) {if(a[i][j]>max) Max=a[i][j]; If(a[i][j]<min) Min=a[i][j]; } Cout<<min<<‘’ ‘’<<max; Cin>>n; }

Problema 3: Determinati cel mai mare minim dintre liniile unei matrici citie de la tastatura. Afisati aceasta valoare precum si coloana. #include<iostream. h> void main() {int a[100], n, m, max, min, I, j; cin>>n>>m; for(i=1; i<=n; i++) for(j=1; j<=m; j++) cin>>a[i][j]; max=-32000; for(j=1; j<=m; j++) {min=32000; for(i=1; i<=n; i++) if(a[i][j]<min) min=a[i][j]; if(min>max) {max=min; X=j; } } cout<<max<<‘’ ‘’<<x; cout<<endl;
- Slides: 9