C++矩阵翻转问题:为什么运行之后都是零啊,求大神帮忙看看代码,错在哪?
输入第一行包括由空格分开的整数M、N、T(0<M<200,0<N<200,T=0或1),其中M和N分别表示待处理矩阵的行数与列数,T为0时表示左右翻转,为1时表示上下翻转...
输入第一行包括由空格分开的整数M、N、T(0 < M < 200,0 < N < 200,T=0或1),其中M和N分别表示待处理矩阵的行数与列数,T为0时表示左右翻转,为1时表示上下翻转。
之后的M行,每行包括由空格分隔的N个整数,依次为输入矩阵的每一行的数据。
输出包括M行N列,每个数字之间用一个空格分隔,每一行行末均有一个空格,表示的是按照要求翻转后的矩阵。
#include<iostream>
using namespace std;
int main(){
int i,j,M,N,T,arr[200][200];
cin>>M;
cin>>N;
cin>>T;
for(i=0;i<M;i++)
for(j=0;j<N;j++){
cin>>arr[M][N];
}
if(T==0)
{
for(i=0;i<M;i++)
{ for(j=0;j<N;j++)
{
cout<<arr[i][N-1-j]<<" ";
if(j==N-1)
cout<<endl;
}
}
}
if(T==1)
{
for(i=0;i<M;i++)
{
for(j=0;j<N;j++)
{
cout<<arr[M-1-i][j]<<" ";
if(j==N-1)
cout<<endl;
}
}
}
} 展开
之后的M行,每行包括由空格分隔的N个整数,依次为输入矩阵的每一行的数据。
输出包括M行N列,每个数字之间用一个空格分隔,每一行行末均有一个空格,表示的是按照要求翻转后的矩阵。
#include<iostream>
using namespace std;
int main(){
int i,j,M,N,T,arr[200][200];
cin>>M;
cin>>N;
cin>>T;
for(i=0;i<M;i++)
for(j=0;j<N;j++){
cin>>arr[M][N];
}
if(T==0)
{
for(i=0;i<M;i++)
{ for(j=0;j<N;j++)
{
cout<<arr[i][N-1-j]<<" ";
if(j==N-1)
cout<<endl;
}
}
}
if(T==1)
{
for(i=0;i<M;i++)
{
for(j=0;j<N;j++)
{
cout<<arr[M-1-i][j]<<" ";
if(j==N-1)
cout<<endl;
}
}
}
} 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询