| | | 1. Se da o matrice patratica. Sa se interschimbe liniile si
coloanele astfel incat elementele diagonalei
principale sa fie in ordine crescatoare. | #include <iostream>
using namespace std;
int x[50][50], n;
void citire(int x[50][50], int n)
{
for(int i=1;i<=n;i++)
for(int j=1;j<=n;j++)
{
cout<<"x["<<i<<"]["<<j<<"]=";
cin>>x[i][j];
}
}
void afisare(int x[50][50], int n)
{
for(int i=1;i<=n;i++) {
for(int j=1;j<=n;j++)
cout<<x[i][j]<<" ";
cout<<endl;
}
}
void interschimba_c(int x[50][50], int n, int c1, int c2)
{
int aux;
for(int j=1;j<=n;j++)
{
aux=x[j][c1];
x[j][c1]=x[j][c2];
x[j][c2]=aux;
}
}
void interschimba_l(int x[50][50], int n, int l1, int l2)
{
int aux;
for(int j=1;j<=n;j++)
{
aux=x[l1][j];
x[l1][j]=x[l2][j];
x[l2][j]=aux;
}
}
int main(){
cout<<"n=";
cin>>n;
citire(x,n);
afisare(x,n);
int ord=1;
while(ord)
{
ord=0;
for(int i=1;i<n;i++)
if(x[i][i]>x[i+1][i+1])
{
interschimba_l(x, n, i, i+1);
interschimba_c(x, n, i, i+1);
ord=1;
}
}
cout<<"matricea dupa interschimbare este "<<endl;
afisare(x,n);
return 0;
}
| | 2. Se da o matrice patratica. Sa se interschimbe liniile si
coloanele astfel incat elementele diagonalei
secundare sa fie in ordine descrescatoare. | #include <iostream>
using namespace std;
int x[50][50], n;
void citire(int x[50][50], int n)
{
for(int i=1;i<=n;i++)
for(int j=1;j<=n;j++)
{
cout<<"x["<<i<<"]["<<j<<"]=";
cin>>x[i][j];
}
}
void afisare(int x[50][50], int n)
{
for(int i=1;i<=n;i++) {
for(int j=1;j<=n;j++)
cout<<x[i][j]<<" ";
cout<<endl;
}
}
void interschimba_c(int x[50][50], int n, int c1, int c2)
{
int aux;
for(int j=1;j<=n;j++)
{
aux=x[j][c1];
x[j][c1]=x[j][c2];
x[j][c2]=aux;
}
}
void interschimba_l(int x[50][50], int n, int l1, int l2)
{
int aux;
for(int j=1;j<=n;j++)
{
aux=x[l1][j];
x[l1][j]=x[l2][j];
x[l2][j]=aux;
}
}
int main(){
cout<<"n=";
cin>>n;
citire(x,n);
afisare(x,n);
int ord=1;
while(ord)
{
ord=0;
for(int i=1;i<n;i++)
if(x[i][n-i+1]<x[i+1][n-i])
{
interschimba_l(x, n, i, i+1);
interschimba_c(x, n, i, i+1);
ord=1;
}
}
cout<<"matricea dupa interschimbare este "<<endl;
afisare(x,n);
return 0;
}
|
|