打劫男神日记吧 关注:8贴子:5,616
  • 0回复贴,共1

matrix三变换

只看楼主收藏回复

#include <iostream>
using namespace std;
int main()
{
int i,j,k,n,a,b,**p,x;
cin>>n;
for(i=1;i<=n;i++)
{
cin>>a>>b;
p=new int*[a];
for(j=0;j<a;j++)
p[j]=new int[a];
for(j=0;j<a;j++)
for(k=0;k<a;k++)
cin>>p[j][k];
switch(b)
{
case 0:
{
for(j=0;j<a;j++)
for(k=0;k<a/2;k++)
{
x=p[j][k];p[j][k]=p[j][a-k-1];p[j][a-k-1]=x;
}
break;
}
case 1:
{
for(j=0;j<a/2;j++)
for(k=0;k<a;k++){
x=p[j][k];p[j][k]=p[a-j-1][k];p[a-j-1][k]=x;
}
break;
}
case 2:
{
for(j=0;j<a;j++)
for(k=0;k<j;k++)
swap(p[j][k],p[k][j]);
break;
}
}
for(j=0;j<a;j++)
{
for(k=0;k<a;k++)
{
if(k!=a-1)
cout<<p[j][k]<<" ";
else
cout<<p[j][k];
}
if(i!=n||j!=a-1)cout<<endl;
}
for(j=0;j<a;j++)
delete [] p[j];
delete[] p;
}
return 0;
}


IP属地:上海1楼2019-11-27 21:44回复