我试图转置一个用向量构建的矩阵.
这是我写的转置函数:
void transpose(std::vector<std::vector<int>>& fill_mat) {
for (int i = 0; i < fill_mat.size(); ++i) {
for (int j = 0; j < fill_mat.size(); ++j) {
std::swap(fill_mat[i][j], fill_mat[j][i]);
}
}
}
Run Code Online (Sandbox Code Playgroud)
它似乎没有做任何事情:我的最终结果与起始结果相同.
这是我的完整计划:
#include<iostream>
#include<vector>
#include<utility>
void print_matrix(std::vector<std::vector<int>>& to_print) {
for (int i = 0; i < to_print.size(); ++i) {
for (int j = 0; j < to_print.size(); ++j) {
std::cout << " " << to_print[i][j];
}
std::cout << std::endl;
}
}
void make_matrix(std::vector<std::vector<int>>& fill_mat) {
for (int i = …Run Code Online (Sandbox Code Playgroud) 该程序将反转数组的内容。例如,如果数组包含{1,2,3,4,5},则它应显示{5,4,3,2,1}
for(i=0;i<n;i++)
{
tmp=a[i];
a[i]=a[n-1-i];
a[n-1-i]=tmp;
}
Run Code Online (Sandbox Code Playgroud)