我尝试使用此代码,但我无法获得所需的输出。我给出了一个3*3矩阵作为输入1 2 3|4 5 6| 7 8 9,结果矩阵预期为7 4 1 | 8 5 6| 9 6 3。
#include <bits/stdc++.h>
using namespace std;
int main(){
int size;
cin>>size;
int matrix[size][size];
for(int i=0;i<size;i++){
for(int j=0;j<size;j++){
cin>>matrix[i][j];
}
}
cout<<"Original Matrix"<<endl;
for(int i=0;i<size;i++){
for(int j=0;j<size;j++){
cout<<matrix[i][j]<<" ";
}
cout<<endl;
}
cout<<"After left rotating"<<endl;
int tempMatrix[size][size];
for(int i=0;i<size;i++){
for(int j=0;j<size;j++){
tempMatrix[i][j]=matrix[j][i];
}
}
for(int i=0;i<size;i++){
for(int j=0;j<size;j++){
cout<<tempMatrix[i][j]<<" ";
}
cout<<endl;
}
return 0;
}
#include <bits/stdc++.h>
using namespace std;
int main()
{
int size;
cin>>size;
int matrix[size][size];
for(int i=0;i<size;i++)
{
for(int j=0;j<size;j++)
{
cin>>matrix[i][j];
}
}
cout<<"Original Matrix"<<endl;
for(int i=0;i<size;i++)
{
for(int j=0;j<size;j++)
{
cout<<matrix[i][j]<<" ";
}
cout<<endl;
}
cout<<"After left rotating"<<endl;
int tempMatrix[size][size];
for(int i=0;i<size;i++)
{
for(int j=0;j<size;j++)
{
tempMatrix[i][j]=matrix[size-j-1][i];
}
}
for(int i=0;i<size;i++)
{
for(int j=0;j<size;j++)
{
cout<<tempMatrix[i][j]<<" ";
}
cout<<endl;
}
return 0;
}
希望这有效。谢谢。