You are on page 1of 4

#include <iostream>

using namespace std;


int x, y, i, j;
//1 2 3
//4 5 6
void cit_mat(int a[][50], int m, int n)
{
//cout << "m="; cin >> m; cout << "n="; cin >> n;
for (int i = 0; i < n; i++)
for (int j = 0; j < m; j++)
{
cout << "a[" << i + 1 << "," << j + 1 << "]="; cin >> a[i][j];
}
}

void afis_mat(int a[][50], int& m, int& n)


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

}
void afis_vec(int b[], int m)
{
for (int i = 0; i < m; i++) cout << b[i] << " ";

}
void suma(int a[][50], int b[], int m, int n)
{
int i, j;
for (i = 0; i < m; i++) b[i] = 0;
for (i = 0; i < m; i++)
for (j = 0; j < n; j++) b[i] += a[i][j];

void maxim(int a[][50], int m, int n, int& max, int& nl, int& nc)
{
max = a[0][0]; nl = 0; nc = 0;
for (int i = 0; i < m; i++)
for (int j = 0; j < n; j++)
if (a[i][j] > max) { max = a[i][j]; nl = i; nc = j; }

void bordeaza(int a[][50], int& m, int& n)


{
int i, j; float s;
for (i = 0; i < m; i++)
{
for (j = 0, s = 0; j < n; j++) s += a[i][j];
a[i][n] = s / n;
}
n++;
for (i = 0; i < n; i++)
{
for (j = 0, s = 0; j < m; j++) s += a[i][j];
a[m][i] = s / m;
}
m++;
}
/* bordare
1 2 3 2
4 5 6 5
7 8 9 8

4 5 6 5
*/
void schimb_col(int a[][50], int& m, int& n)
{
int i, j, aux;
cout << "coloanele care se interschimba" << endl;
cout << "x="; cin >> x;
cout << "y="; cin >> y;
for (i = 0; i < n; i++)
{
aux = a[i][x]; a[i][x] = a[i][y]; a[i][y] = aux;
}
}

void schimb_linii(int a[][50], int& m, int& n)


{
int i, j, aux;
cout << "liniile care se interschimba" << endl;
cout << "x="; cin >> x;
cout << "y="; cin >> y;
for (j = 0; j < m; j++)
{
aux = a[x][j]; a[x][j] = a[y][j]; a[y][j] = aux;
}
}

void elim_linie(int a[][50], int& m, int& n)


{
int i, j;
cout << "linia care se elimina x=" << endl;
cin >> x;
for (i = x + 1; i < n; i++)
for (j = 0; j < m; j++)
a[i - 1][j] = a[i][j]; n--;
}

void elim_coloana(int a[][50], int& m, int& n)


{
int i, j;
cout << "coloana care se elimina x=" << endl;
cin >> x;
for (i = 0; i < n; i++)
for (j = x + 1; j < m; j++)
a[i][j - 1] = a[i][j]; m--;
}

int max_ds(int a[][50], int& m, int& n)


{
int i, j, max;
max = a[0][n - 1];
for (i = 1; i < n; i++)
if (a[i][n - i - 1] > max)
max = a[i][n - i - 1];
return max;
}
int min_dp(int a[][50], int& m, int& n)
{
int i, j, min;
min = a[0][0];
for (i = 1; i < n; i++)
if (a[i][i] < min)
min = a[i][n - i - 1];
return min;
}
int max_dp(int a[][50], int& m, int& n)
{
int i, j, max;
max = a[0][0];
for (i = 1; i < n; i++)
if (a[i][i] > max)
max = a[i][i];
return max;
}
int min_ds(int a[][50], int& m, int& n)
{
int i, j, min;
min = a[0][n - 1];
for (i = 1; i < n; i++)
if (a[i][n - i - 1] < min)
min = a[i][n - i - 1];
return min;
}

void inserare_col(int a[][50], int& m, int& n)


{
cout << "coloana care se introduce" << endl;
cin >> x;
for (i = 0; i < n; i++)
for (j = m; j >= x; j--)
a[i][j + 1] = a[i][j];
for (i = 0; i < n; i++) a[i][x] = 0;
m++;
}

void inserare_lin(int a[][50], int& m, int& n)


{
cout << "linia care se introduce" << endl;
cin >> x;
for (i = n; i >= x; i--)
for (j = 0; j < m; j++)
a[i + 1][j] = a[i][j];
for (j = 0; j < m; j++) a[x][j] = 0;
n++;
}

int main()
{
int a[50][50], b[50], m, n, max, nl, nc;
cout << "Dati numarul de linii: ";
cin >> m;
cout << "Dati numarul de coloane: ";
cin >> n;
cit_mat(a, m, n);
afis_mat(a, m, n);
//suma(a,b,m,n);
//afis_vec(b,m);
//bordeaza(a,m,n);
//afis_mat(a,m,n);
//inv_col(a,m,n);
//afis_mat(a,m,n);
//maxim(a,m,n,max,nl,nc);
//cout<<"maximul este"<<max<<"si apare prima data"<<endl;
//cout<<"in linia"<<nl+1<<"si coloana"<<nc+1<<endl;
//schimb_col(a,m,n);
//cout<<"matricea rezultata este"<<endl;
//afis_mat(a,m,n);
//schimb_linii(a,m,n);
//afis_mat(a,m,n);
//elim_linie(a,m,n);
//afis_mat(a,m,n);
//elim_coloana(a,m,n);
//afis_mat(a,m,n);
cout << "elementul max de pe diagonala secundara este" << max_ds(a, m, n) <<
endl;
cout << "elementul min de pe diagonala principala este" << min_dp(a, m, n) <<
endl;
cout << "elementul max de pe diagonala principala este" << max_dp(a, m, n) <<
endl;
cout << "elementul min de pe diagonala secundara este" << min_ds(a, m, n) <<
endl;
inserare_lin(a, m, n); afis_mat(a, m, n);
inserare_col(a, m, n); afis_mat(a, m, n);
}

You might also like