Răspuns :
okii
Problema, ca enunt, pare destul de chill
Parcurgi matricea, si interschimbi elementele ce-s simetrice conform regulii ce o ai in enunt
Dar, problema e, ca daca o sa parcurgi toata matricea, o sa interschimbi perechile simetrice de doua ori, ceea ce inseamna ca in final matricea afisata o sa fie identica cu cea citita
Asa ca, trebuie sa parcurgi numai elementele ce se afla sub/ deasupra diagonalei principale, aka elemente ce au indicele liniei (i) mai mare decat indicele coloanei (j) (asta daca iau elementele de sub diagonala)
here, have a look at the code
#include <iostream>
using namespace std;
int n,a[100][100],i,j,aux;
int main()
{
cin>>n;
for (i=0;i<n;i++)
{
for (j=0;j<n;j++)
cin>>a[i][j];
}
for (i=0;i<n;i++)
{
for (j=0;j<i;j++)
{
aux=a[i][j];
a[i][j]=a[j][i];
a[j][i]=aux;
}
}
for (i=0;i<n;i++)
{
for (j=0;j<n;j++)
cout<<a[i][j]<<' ';
cout<<endl;
}
return 0;
}
Problema, ca enunt, pare destul de chill
Parcurgi matricea, si interschimbi elementele ce-s simetrice conform regulii ce o ai in enunt
Dar, problema e, ca daca o sa parcurgi toata matricea, o sa interschimbi perechile simetrice de doua ori, ceea ce inseamna ca in final matricea afisata o sa fie identica cu cea citita
Asa ca, trebuie sa parcurgi numai elementele ce se afla sub/ deasupra diagonalei principale, aka elemente ce au indicele liniei (i) mai mare decat indicele coloanei (j) (asta daca iau elementele de sub diagonala)
here, have a look at the code
#include <iostream>
using namespace std;
int n,a[100][100],i,j,aux;
int main()
{
cin>>n;
for (i=0;i<n;i++)
{
for (j=0;j<n;j++)
cin>>a[i][j];
}
for (i=0;i<n;i++)
{
for (j=0;j<i;j++)
{
aux=a[i][j];
a[i][j]=a[j][i];
a[j][i]=aux;
}
}
for (i=0;i<n;i++)
{
for (j=0;j<n;j++)
cout<<a[i][j]<<' ';
cout<<endl;
}
return 0;
}