3373:练64.2 图像旋转翻转变换
练 64.2 图像旋转翻转变换
#include<bits/stdc++.h>
using namespace std;
int a[105][105],b[105][105],m,n,q,i,j;
int main()
{
char c;
cin>>m>>n;
for(i=1;i<=m;i++)
for(j=1;j<=n;j++)
{
cin>>a[i][j];
}
while(cin>>c)
{
for(i=1;i<=m;i++)
for(j=1;j<=n;j++)
switch(c)
{
case'A':b[j][m-i+1]=a[i][j];break;
case'B':b[n-j+1][i]=a[i][j];break;
case'C':b[i][n-j+1]=a[i][j];break;
case'D':b[m-i+1][j]=a[i][j];break;
default:break;
}
memcpy(a,b,sizeof(a));
if(c=='A'||c=='B')
{
q=m;
m=n;
n=q;
}
}
for(i=1;i<=m;i++)
{
for(j=1;j<=n;j++)cout<<a[i][j]<<" ";
cout<<endl;
}
return 0;
}
#include<iostream>
#include<cstring>
using namespace std;
int a[101][101],b[101][101];
char e[101];
void A(int &m,int &n)
{
int i,j,temp;
for(i=1;i<=m;i++)
for(j=1;j<=n;j++)
{
b[j][m+1-i]=a[i][j];
}
temp=m;m=n;n=temp;
for(i=1;i<=m;i++)
for(j=1;j<=n;j++)
{
a[i][j]=b[i][j];
}
}
void B(int &m,int &n)
{
A(m,n);
A(m,n);
A(m,n);
}
void C(int &m,int &n)
{
int i,j;
for(i=1;i<=m;i++)
for(j=1;j<=n;j++)
{
b[i][n+1-j]=a[i][j];
}
for(i=1;i<=m;i++)
for(j=1;j<=n;j++)
{
a[i][j]=b[i][j];
}
}
void D(int &m,int &n)
{
int i,j;
for(i=1;i<=m;i++)
for(j=1;j<=n;j++)
{
b[m+1-i][j]=a[i][j];
}
for(i=1;i<=m;i++)
for(j=1;j<=n;j++)
{
a[i][j]=b[i][j];
}
}
void xz(char t,int &m,int &n)
{
if(t=='A') A(m,n);
if(t=='B') B(m,n);
if(t=='C') C(m,n);
if(t=='D') D(m,n);
}
int main()
{
int i,j,m,n;
scanf("%d%d",&m,&n);
for(i=1;i<=m;i++)
for(j=1;j<=n;j++)
{
scanf("%d",&a[i][j]);
}
scanf("%s",e);
for(i=0;i<strlen(e);i++)
{
xz(e[i],m,n);
}
for(i=1;i<=m;i++)
{
for(j=1;j<=n;j++)
{
printf("%d ",a[i][j]);
}
printf("\n");
}
return 0;
}
《信息学奥赛一本通 编程启蒙C++版》3346-3350(5题)
35、《信息学奥赛一本通 编程启蒙 C++版》 3341-3350(10题)
35、《信息学奥赛一本通 编程启蒙 C++版》 3341-3350(10题)_3341:练58.1 严格排名-CSDN博客
《信息学奥赛一本通 编程启蒙C++版》3351-3355(5题)
《信息学奥赛一本通 编程启蒙C++版》3356-3360(5题)
36、《信息学奥赛一本通 编程启蒙 C++版》 3351-3360(10题)
36、《信息学奥赛一本通 编程启蒙 C++版》 3351-3360(10题)_3353:【例61.1】 机器翻译-CSDN博客
《信息学奥赛一本通 编程启蒙C++版》3361-3365(5题)
《信息学奥赛一本通 编程启蒙C++版》3366-3370(5题)
37、《信息学奥赛一本通 编程启蒙 C++版》 3361-3370(10题)
37、《信息学奥赛一本通 编程启蒙 C++版》 3361-3370(10题)_3364:练62.3 学习效率-CSDN博客
《信息学奥赛一本通 编程启蒙C++版》3371-3375(5题)