师兄的一道笔试题
我的代码
#include<iostream>
#include<vector>
using namespace std;
int main()
{
int M{ 0 }, N{ 0 };
cin >> M >> N;
vector < vector<int>>v{};
v.resize(M);
vector < vector<int>>v1{};
v1.resize(M*N);
//构造原始矩阵
for (int i = 0; i < M; ++i) {
for (int j = 0; j < M; ++j) {
int x;
cin >> x;
v.at(i).push_back(x);
}
}
for (int i = 0; i < M*N; ++i) {
int j = i / N;//对应原矩阵的行
for (int k = 0; k < M; ++k) {//对应原矩阵的列
for (int m = 0; m < N; ++m) {
v1.at(i).push_back(v[j][k]);
}
}
}
for (int i = 0; i < v1.size(); i++)
{
for (int j = 0; j < v1[i].size(); j++)
{
cout << v1[i][j] << " ";
}
cout << endl;
}
cout << endl;
return 0;
}