contents - informatik.ddbuftea.roinformatik.ddbuftea.ro/matrici.pdf · 3 ** citirea si afisarea...

30
M atrici Numim tablou bidimensional o colecţie de date ( grup, mulţime ordonată ) de acelaşi tip situate într-o zona de memorie continuă ( elementele tabloului se află la adrese succesive). X[1][1] X[1][2] X[1][3] ……….. X[1] [m] X[2][1] X[2][2] X[2][3] ………. X[2] [m] X[3][1] X[3][2] X[3][3] ………… X[3] [m] ……….. …………. ………….. ………… ………… X[n][1] X[n][2] X[n][3] ……… X[n][m] Contorul j parcurge coloanele Matricea X cu n linii si m coloane

Upload: others

Post on 12-Sep-2019

53 views

Category:

Documents


0 download

TRANSCRIPT

Matrici• Numim tablou bidimensional o colecţie de date ( grup, mulţime ordonată ) • de acelaşi tip • situate într-o zona de memorie continuă ( elementele tabloului se află la adrese succesive).

X[1][1] X[1][2] X[1][3] ……….. X[1] [m]

X[2][1] X[2][2] X[2][3] ………. X[2] [m]

X[3][1] X[3][2] X[3][3] ………… X[3] [m]

……….. …………. ………….. ………… ……………

X[n][1] X[n][2] X[n][3] ……… X[n][m]

Contorul j parcurge coloanele

Matricea X cu n linii si m coloane

Sintaxa generala:

tip nume [marime1][marime2] ( în C++ matricea fiind de fapt un vector de vectori ) ,

unde:

- tip – (int, float, double, char) tipul de bază al componentelor matricei;

- nume – numele matricei;

- marime 1 – numărul de linii al matricei;

- marime 2 – numărul de coloane al matricei;

Exemplu: int M[3][4]; //am declarat matricea M care are 7 linii si 8 coloane

Declararea matricei

Matricea patratica este un caz particular de matrice pentru care numărul de linii este egal cu numărul de coloane.

Matrici#include<iostream>using namespace std;int main (){int x[10][10], n, m, i, j;cout<<"Dati numarul de linii: "; cin>>n;cout<<"Dati numarul de coloane: "; cin>>m;

return 0;}

cout<<"Introduceti elementele matricei: "<<endl;for (i=1; i<=n; i++) //parcurge liniile

for (j=1; j<=m; j++) //parcurge coloanele{cout<<"x["<<i<<"]["<<j<<"]="; //afiseaza ce locatie de memorie

cin>>x[i][j]; //memoreaza valoarea in locatie

}

cout<<"Afisam matricea: "<<endl;for (i=1; i<=n; i++)

{ for (j=1; j<=m; j++)cout<<x[i][j]<<" "; // sa afiseze elementele din randul i

cout<<endl; // pentru a trece la randul i+1

}

Citirea matricii

Afisarea matricii

• Este un caz particular de matrice pentru care numărul de linii este egal cu numărul de coloane.

• este formată din elementele care îndeplinesc relația i==j

Citeste matricea;Afiseaza elementele matricei;cout<<"Afisam elementele diagonalei principale: "<<endl;for (i=1; i<=n; i++)

{for (j=1; j<=m; j++)

if(i==j) cout<<x[i][j]<<" ";

cout<<endl;}

x11 x12 x13 X1….m

x21 x22 x23 X2…m

x31 x32 x33 X3…..m

xn1 xn2 xn3 xnm

Diagonala principală

i==j

Diagonala secundară conţine elementele caracterizate de relaţia i+j=n+1.

Citeste matricea;Afiseaza elementele matricei;cout<<"Afisam elementele diagonalei secundare: "<<endl;for (i=1; i<=n; i++)

{ for (j=1; j<=m; j++)

if(i+j==n+1) cout<<x[i][j]<<" ";

cout<<endl;} x11 x12 x13 X1….m

x21 x22 x23 X2…m

x31 x32 x33 X3…..m

xn1 xn2 xn3 xnm

i+j==n+1

cout<<"Afisam elementele de deasupra diagonalei principale:"<<endl;for (i=0; i<n; i++){for (j=0; j<m; j++)

if(i<j)cout<<x[i][j]<<" ";

cout<<endl;}

Citeste matricea;Afiseaza elementele matricei;

x11 x12 x13 X1….m

x21 x22 x23 X2…m

x31 x32 x33 X3…..m

xn1 xn2 xn3 xnm

Afisarea elementelor de deasupra diagonalei principale

i<j

cout<<"Afisam elementele de sub diagonala principală : "<<endl;for (i=1; i<=n; i++){for (j=1; j<=m; j++)

if(i>j)cout<<x[i][j]<<" ";

cout<<endl;}

Citeste matricea;Afiseaza elementele matricei;

x11 x12 x13 X1….m

x21 x22 x23 X2…m

x31 x32 x33 X3…..m

xn1 xn2 xn3 xnmi>j

1 2

3

54

0 1 0 0 1 1

1 0 1 1 1 0

0 1 0 1 0 0

0 1 1 0 1 0

1 1 0 1 0 1

1 0 0 0 1 0

6

1 1 0 0 0 0 1 1 1

1 2 2 3 3 3 4 4 3

2 2 3 3 4 4 5 5 5

3 3 4 4 5 5 5 5 4

4 4 5 5 5 5 5 5 4

4 4 4 4 4 4 4 3 3

3 3 3 3 3 3 2 2 2

2 2 2 2 2 1 1 1 0

0,1,2,3,4,5 (sunt nuante de verde)

#include <iostream>using namespace std;int main(){int n,i,j,a[100][100];cout<<"n=";cin>>n;for(int i = 1; i <= n; i++)

{ for(int j = 1; j <= n; j++)if(i==j)cout<<1<<" ";else cout <<a[i][j]<<" ";cout<<endl;

}return 0;

}

#include <iostream>using namespace std;int main(){int n,i,j,a[100][100];cout<<"n=";cin>>n;for(int i = 1; i <= n; i++){

for(int j = 1; j <= n; j++)cout << (i - 1) * n + j << " ";

cout << "\n";}

return 0;}

#include <iostream>using namespace std;int main(){int n,i,j,a[100][100];cout<<"n=";cin>>n;for(int i = 1; i <= n; i++){ for(int j = 1; j <= n; j++)

a[i][j]=((i + j) - 2)%n;}for(int i = 1; i <= n; i++)

{ for(int j = 1; j <= n; j++)cout <<a[i][j]<<" ";cout<<endl;

}return 0;

}

Testati:• Incercati cu i si j de la 0• Incercati afisarea numerelor pana la 4

#include <iostream>using namespace std;int main(){int x[30][30],n,m,ok,aux,r=0;int i,j;cout<<"n=";cin>>n;for(i=1;i<=n;i++)

for(j=1;j<=n;j++){cout<<"x["<<i<<"]["<<j<<"]=";cin>>x[i][j];}cout<<"matricea este\n";for(int i=1;i<=n;i++){

for(int j=1;j<=n;j++)cout<<x[i][j]<<" ";cout<<"\n";

}cout<<"Elementele de deasupra diagonalei principale sunt:\n";

for(int i=1;i<=n;i++){for(int j=1;j<=n;j++)

if(i<j){cout<<x[i][j]<<" ";r=r+x[i][j];}cout<<endl;

}

cout<<"\n suma elementelor de deasupra diagonalei principale="<<r<<endl;cout<<"Elementele de sub diagonala secundara sunt :\n";int t=0;for(int i=1;i<=n;i++){for(int j=1;j<=n;j++ )if(i+j>=n+2){cout<<x[i][j]<<" ";t=t+x[i][j];}cout<<endl;}cout<<"suma elementelor de sub diagonala secundara="<<t<<endl;

for(int i=1;i<=n;i++){

for(int j=1;j<=n;j++)cout<<x[i][j]<<" ";cout<<"\n";

}}

Se citeste o matrice, sa se afiseze elementele de deasupra si de sub DP

#include <iostream>#include<fstream>using namespace std;ifstream f("date.in");ofstream g("date.out");int main(){int x[30][30],n,m,ok,aux,r=0;int i,j;f>>n; g<<"n="<<n<<endl;for(i=1;i<=n;i++)

for(j=1;j<=n;j++){f>>x[i][j]; g<<"x["<<i<<"]["<<j<<"]="<<x[i][j]<<" ";}g<<"\n matricea este"<<endl;for(int i=1;i<=n;i++){for(int j=1;j<=n;j++)g<<x[i][j]<<" ";g<<"\n";

}

g<<"\n Elementele de deasupra diagonalei principale sunt:"<<endl;

for(int i=1;i<=n;i++){for(int j=1;j<=n;j++)

if(i<j){g<<x[i][j]<<" ";r=r+x[i][j];}g<<endl;

}g<<"\n suma elementelor de deasupra diagonalei principale="<<r<<endl;g<<"Elementele de sub diagonala secundara sunt :\n";int t=0;for(int i=1;i<=n;i++){for(int j=1;j<=n;j++ )if(i+j>=n+2){g<<x[i][j]<<" ";t=t+x[i][j];}g<<endl;}g<<"suma elementelor de sub diagonala secundara="<<t<<endl;

}

Se citeste o matrice, sa se afiseze elementele de deasupra si de sub DP(variant cu fisiere text)

#include <iostream>using namespace std;int main(){int x[30][30],n,max,min,s=0;int i,j;cout<<"Cate sapatmani?";cin>>n;for(i=1;i<=n;i++)

for(j=1;j<=7;j++){cout<<"x["<<i<<"]["<<j<<"]=";cin>>x[i][j];}cout<<"S-au inregistrat urmatoarele temperaturi\n";for(int i=1;i<=n;i++){cout<<"\n In saptamana "<<i<<" au fost temperaturile:

";for(int j=1;j<=7;j++)cout<<x[i][j]<<" ";cout<<"\n";

}

cout<<"\n Valorile minime:";for(int i=1;i<=n;i++){ cout<<"\n in saptamana "<<i<<" minimul a fost: ";

min=x[i][1]; for(int j=1;j<=7;j++)if(x[i][j]<min) min=x[i][j];cout<<min;

}

cout<<"\n Valorile maxime:";for(int i=1;i<=n;i++){ cout<<"\n in saptamana "<<i<<" maximul a fost: ";

max=x[i][1]; for(int j=1;j<=7;j++)if(x[i][j]>max) max=x[i][j];cout<<max;

}cout<<"\n temperatura medie pe saptamana este :";

for(int i=1;i<=n;i++){ cout<<"\n in saptamana "<<i<<" media valorilor a fost: ";

s=0; for(int j=1;j<=7;j++)s=s+x[i][j];

cout<<float(s/7);}

}

O echipa de elevi plecati in vacanta, vor sa masoare temperaturile pentru a face o statistica ( valorea minima , valorile maxime si temperaturile medii)

#include <iostream>

using namespace std;

int x[30][30],n,m;

void citire()

{int i,j;

cout<<"n=";cin>>n;

for(i=1;i<=n;i++)

for(j=1;j<=n;j++)

{cout<<"x["<<i<<"]["<<j<<"]=";

cin>>x[i][j];

}

}

void afisare()

{

for(int i=1;i<=n;i++)

{

for(int j=1;j<=n;j++)

cout<<x[i][j]<<" ";

cout<<"\n";

}

}

void deasupra_dp()

{

int s=0;

for(int i=1;i<=n-1;i++)

{for(int j=i+1;j<=n;j++)

{cout<<x[i][j]<<" ";s=s+x[i][j];}

cout<<endl;

}

cout<<"suma elementelor de deasupra diagonalei

principale="<<s<<endl;

}

void sub_ds()

{int s=0;

for(int i=2;i<=n;i++)

{for(int j=n-i+2;j<=n;j++ )

{cout<<x[i][j]<<" ";s=s+x[i][j];}

cout<<endl;

}

cout<<"suma elementelor de sub diagonala secundara="<<s<<endl;

}

int main()

{

citire();

cout<<"matricea este\n";

afisare();

cout<<"Elementele de deasupra

diagonalei principale sunt:\n";

deasupra_dp();

cout<<"Elementele de sub diagonala

secundara sunt :\n";

sub_ds();

}

Se introduce de la tastatură o matrice pătrată de ordin n cu elemente numere întregi. Se cere să se calculeze şi afişeze:

a) suma elementelor de deasupra diagonalei principale ;

b) suma elementelor de sub diagonala secundară.

#include<iostream>

using namespace std;

int x[30][30],n,m;

void citire()

{int i,j;

cout<<"Cate linii? ";cin>>n;

cout<<"Cate coloane? ";cin>>m;

for(i=1;i<=n;i++)

for(j=1;j<=m;j++)

{cout<<"x["<<i<<"]["<<j<<"]=";

cin>>x[i][j];

}

}

void afisare()

{

for(int i=1;i<=n;i++)

{

for(int j=1;j<=m;j++)

cout<<x[i][j]<<" ";

cout<<"\n";

}

}

void minim_l()

{

int l,min;

cout<<"Ce linie cauti? "; cin>>l;

if(l<1 || l>n) {cout<<"eroare"; }

min=x[l][1];for(int i=1;i<=m;i++)

if(x[l][i]<min)min=x[l][i];

cout<<"Valoarea minima este : "<<min;

}

int main()

{

citire();

cout<<"matricea este\n";

afisare();

minim_l();}

Se introduce de la tastatură o matrice cu m linii şi n coloane cu elemente numere întregi . Se cere să se

calculeze şi să se afişeze minimul pe o linie l a matricei (l număr natural citit de la tastatură l<=m).

#include<iostream>

using namespace std;

int a[30][30],n,m;

void citire()

{int i,j;

cout<<"n=";cin>>n;

for(i=1;i<=n;i++)

for(j=1;j<=n;j++)

{cout<<"a["<<i<<"]["<<j<<"]";

cin>>a[i][j];

} }

void afisare()

{

for(int i=1;i<=n;i++)

{

for(int j=1;j<=n;j++)

cout<<a[i][j]<<" ";

cout<<"\n";

} }

void afis_deasupra_diagonala_principala()

{

for(int i=1;i<=n-1;i++)

{ for(int j=i+1;j<=n;j++)

cout<<a[i][j]<<" ";

cout<<"\n";

} }

void contor()

{int c=0;

for(int i=1;i<=n-1;i++)

{ if(i%2==0)

for(int j=i+1;j<=n;j++)

if(a[i][j]<24)c++;

else cout <<”s-au citit valori mai mici de 24 pentru

linii pare”

}cout<<"Numarul elementelor <24 de pe liniile pare sunt

: ”<<c<<endl;}

int main()

{

citire();

cout<<"matricea este\n";

afisare();

cout<<"elementele de deasupra diagonalei

principale\n";

afis_deasupra_diagonala_principala();contor();}

Se dă o matrice x, cu n linii şi n coloane, cu elemente întregi. Să se determine numărul elementelor din

matrice care sunt < 24 şi se găsesc deasupra diagonalei principale pe linii pare.

using namespace std;

#include<iostream>

int a[30][30],n,m;

void citire()

{int i,j;

cout<<"n=";cin>>n;

cout<<"m=";cin>>m;

for(i=1;i<=n;i++)

for(j=1;j<=m;j++)

{cout<<"a["<<i<<"]["<<j<<"]";

cin>>a[i][j];

}

}

void minim_linie()

{int min;

for(int i=1;i<=n;i++)

{min=a[i][1];

for(int j=1;j<=m;j++)

if(min>a[i][j]) min=a[i][j];

cout<<"min pe linia "<<i<<":"<<min<<endl;

}

}

void perimetru()

{

int nr=0;

cout<<"numerele pare din perimetrul matricei

sunt : "

for(int j=1;j<=m;j++)

if(a[1][j]%2==0){cout<<a[1][j]<<“ "; nr++;}

for(int i=2;i<=n;i++)

if(a[i][m]%2==0){cout<<a[i][m]<<" "; nr++;}

for(int j=1;j<=m-1;j++)

if(a[n][j]%2==0){cout<<a[n][j]<<“ "; nr++;}

for(int i=2;i<=n-1;i++)

if(a[i][1]%2==0){cout<<a[i][1]<<" "; nr++;}

cout<<"Total nr pare :"<<nr;

}

void afisare()

{

for(int i=1;i<=n;i++)

{

for(int j=1;j<=m;j++)

cout<<a[i][j]<<" ";

cout<<"\n";

}}

Se citeşte o matrice cu n linii şi m coloane şi elemente numere întregi. Se cere:

a) Să se determine elementele minime de pe fiecare linie;

b) Să se numere elementele pare de pe perimetrul matricei.

int main()

{

citire();

afisare();

minim_linie();

perimetru();}

using namespace std;

#include<iostream>

int a[30][30],n,m;

void citire()

{int i,j;

cout<<"n=";cin>>n;

for(i=1;i<=n;i++)

for(j=1;j<=n;j++)

{cout<<"a["<<i<<"]["<<j<<"

]";

cin>>a[i][j];

}

}

void afisare()

{

for(int i=1;i<=n;i++)

{

for(int j=1;j<=n;j++)

cout<<a[i][j]<<" ";

cout<<"\n";

}

}

Se citeşte o matrice pătrată de dimensiune nxn şi elemente numere întregi. Se cere:

a) Să se afişeze numerele prime de pe diagonala principală;

b) Să se formeze un vector cu elementele matricei parcurse în ordine pe coloane.

int prim(int n)

{

if(n<=1) return 0;

int i=2;

while(i<=n/2)

if(n%i==0) return 0;

else i++;

return 1;

}

void diagonala()

{

cout<<"elementele prime de pe diagonala

principala\n";

for(int i=1;i<=n;i++)

if (prim(a[i][i])) cout<<a[i][i]<<" ";

else cout<<"nu s-au citit valori prime pe

diagonala principala;"

cout<<endl;

}

void vector()

{int b[900],i,j;

cout<<"parcurgerea

matricii pe coloane\n";

int nr=0;

for(j=1;j<=n;j++)

for (i=1;i<=n;i++)

b[++nr]=a[i][j];

for(i=1;i<=nr;i++)

cout<<b[i]<<" ";

cout<<"\n";}

int main()

{

citire();

afisare();

diagonala();}

5. Se citeşte o matrice cu n linii şi m coloane. Se cere:

a) Să se formeze un vector în care se vor reţine elementele maxime de pe fiecare coloană a matricei;

b) Să se ordoneze vectorul format la punctul a.

using namespace std;

#include<iostream>

int a[30][30],n,m,b[30];

void citire()

{ int i,j;

cout<<"n=";cin>>n;

cout<<"m=";cin>>m;

for(i=1;i<=n;i++)

for(j=1;j<=m;j++)

{cout<<"a["<<i<<"]["<<j<<"]";

cin>>a[i][j];

}

}

void maxim_linie()

{ int max;

for(int j=1;j<=m;j++)

{ max=a[1][j];

for(int i=1;i<=m;i++)

if(max<a[i][j])max=a[i][j];

b[j]=max;

cout<<"max pe coloana "<<j<<" este :"<<

max << endl;

}

}

void sortare()

{ int aux;

cout<<"elementele maxime sortate:\n";

for(int i=1;i<=m-1;i++)

for(int j=i+1;j<=m;j++)

if(b[i]>b[j])

{aux=b[i]; b[i]=b[j]; b[j]=aux;}

for(int i=1;i<=m;i++)

cout<<b[i]<<" ";

cout<<endl;

}

void afisare()

{

for(int i=1;i<=n;i++)

{

for(int j=1;j<=m;j++)

cout<<a[i][j]<<" ";

cout<<"\n";

}}

int main()

{

citire();

afisare();

maxim_linie();

sortare();}

#include<iostream>

using namespace std;

int x[30][30],n,m;

void citire()

{int i,j;

cout<<"n=";cin>>n;

for(i=1;i<=n;i++)

for(j=1;j<=n;j++)

{cout<<"x["<<i<<"]["<<j<<"]";

cin>>x[i][j];

}

}

void afisare()

{

for(int i=1;i<=n;i++)

{

for(int j=1;j<=n;j++)

cout<<x[i][j]<<" ";

cout<<"\n";

}

}

Se dă o matrice x, cu n linii şi n coloane. Să se determine maximul elementelor pare de pe coloana p.

void maxim_coloana_p()

{

int p;

cout<<"nr coloanei pentru a afisa valoarea

maxima: "; cin>>p;

int max=-1;

for(int i=1;i<=n;i++)

if(x[i][p]%2==0)

if(x[i][p]>max) max=x[i][p];

if(max>-1)cout<<"max="<<max<<endl;

else cout<<"nu exista nr pare pe coloana

p\n";

}

int main()

{

citire();

cout<<"matricea este\n";

afisare();

maxim_coloana_p();}

#include<iostream>

using namespace std;

int x[30][30],n,m;

void citire()

{int i,j;

cout<<"m=";cin>>m;

cout<<"n=";cin>>n;

for(i=1;i<=m;i++)

for(j=1;j<=n;j++)

{cout<<"x["<<i<<"]["<<j<<"]";

cin>>x[i][j];

}

}

void afisare()

{

for(int i=1;i<=m;i++)

{

for(int j=1;j<=n;j++)

cout<<x[i][j]<<" ";

cout<<"\n";

} }

Se consideră o matrice cu m linii şi n coloane, elementele matricei sunt numere întregi. Să se determine elementul minim

de pe o coloană c, dată de la tastatură.

void minim_coloana_p()

{20

int c;

cout<<"nr coloanei c="; cin>>c;

int min=x[1][c];

for(int i=1;i<=m;i++)

if(x[i][c]%2==0)

if(x[i][c]<min) min=x[i][c];

cout<<"min="<<min<<endl;

}

int main()

{

citire();

cout<<"matricea este\n";

afisare();

minim_coloana_p();}

using namespace std;

#include<iostream>

int a[30][30],n,lin;

int nr_cifre(int n)

{

int nr=0;

while(n!=0)

{nr++;n=n/10;}

return nr;

}

void matrice_cu_0()

{lin=nr_cifre(n);

for(int i=1;i<=lin;i++)

for(int j=1;j<=lin;j++)

a[i][j]=0;

}

Se citeşte un număr natural n. Să se creeze o matrice care conţine:

- cifrele numărului pe diagonala principală;

- valoarea elementelor rămase în matrice, să conţină valoarea 0.

void diagonala(int n)

{int nr=0;

while(n!=0)

{nr++;

a[nr][nr]=n%10;

n=n/10;

}

}

void afisare()

{

for (int i=1;i<=lin;i++)

{for(int j=1;j<=lin;j++)

cout<<a[i][j]<<" ";

cout<<"\n";

}

}

int main()

{cout<<"Dati un numar format din min 3

cifre:";cin>>n;

matrice_cu_0();

diagonala(n);

afisare();

}

#include<iostream>

using namespace std;

int x[30][30],n,m;

void citire()

{int i,j;

cout<<"m=";cin>>m;

cout<<"n=";cin>>n;

for(i=1;i<=m;i++)

for(j=1;j<=n;j++)

{cout<<"x["<<i<<"]["<<j<<"]";

cin>>x[i][j];

} }

void afisare()

{

for(int i=1;i<=m;i++){

for(int j=1;j<=n ;j++)cout<<x[i][j]<<" ";

cout<<"\n"; } }

Se citeşte o matrice cu m linii şi n coloane, cu elemente numere întregi. Să se interschimbe două linii l1 si l2

(date), între ele, folosind un subprogram.

void interschimbare_linii()

{

int l1,l2,aux;

cout<<"linia l1=";cin>>l1;

cout<<"linia l2=";cin>>l2;

for(int i=1;i<=n;i++)

{

aux=x[l1][i];

x[l1][i]=x[l2][i];

x[l2][i]=aux;}

}

int main()

{

citire();

cout<<"matricea este\n";

afisare();

interschimbare_linii();

afisare();}

Probleme propuse : TABLOURI BIDIMENSIONALE.

1. Se consideră o matrice nepătratică (nxm) care conţine elemente de tip real. Să se determine cel mai mare, respectiv cel

mai mic element al său. Să se afişeze aceste elemente şi indicii lor.

2. Să se înlocuiască elementul maxim de pe fiecare coloană a unei matrice cu suma elementelor de pe coloana respectivă. 5

3. Fie A o matrice cu elemente numere reale. Să se formeze un şir X definit în felul următor: x1 este maximul elementelor de

pe coloanele 1 şi 2, x2 este maximul elementelor de pe coloanele 3 şi 4, etc. Dacă matricea are un număr impar de coloane,

atunci ultimul element al şirului este maximul elementelor de pe ultima coloană a matricei.

4. Se dă o matrice A. Să se introducă indicii elementelor subunitare pozitive în liniile unei matrice B cu două coloane.

5. Se dă o matrice pătratică A. Să se înlocuiască elementele sale situate pe diagonala principală şi pe diagonala secundară cu valoarea 0 (zero).

6. Se dă o matrice pătratică A de dimensiune nxn. Să se formeze o matrice pătratică simetrică B de aceeaşi dimensiune, ale

cărei elemente sunt definite prin relaţia: b[i, j] = (a[i, j] + a[j, i] ) / 2

7. Se dă un tablou bidimensional A cu n linii şi m coloane, de componente întregi. Se cere să se elimine din tablou linia p (1 ≤ p ≤ n).

8. Se dă un tablou bidimensional B cu n linii şi m coloane de componente întregi. Să se determine minimul fiecărei coloane şi

minimul lui B.

9. Se consideră o matrice pătratică cu n linii care conţine date de tip integer. Să se alcătuiască un program C++care afişează pe

ecran, pe o singură linie, suma elementelor pare de pe fiecare coloană.

10. Se consideră un tablou bidimensional (nxm) cu elemente întregi. Să se creeze un program care ordonează crescător

elementele situate pe liniile cu număr de ordine par (linia a doua, linia a patra, ş.a.m.d.). La afişare, elementele tabloului vor fi

scrise sub forma unui tabel de n linii şi m coloane.