我需要通过将对角线下的所有元素设置为0来得到矩阵的上三角形。
下面是我编写的代码:
#include <iostream>
#include <vector>
using namespace std;
vector<vector <int>> upper_triangle(vector<vector <int>> n) {
int rij = n.size();
int kolom = n.size();
vector<vector<int>> result = n;
for (int i = 0; i < rij; i++) {
for (int j = 0; j < kolom; j++) {
if (i > j) {
result[i][j] = 0;
}
}
return result;
}
}
我得到的输出只是矩阵本身,这不是我所需要的。
{{10,11,12},{13,14,15},{16,17,18}}
{{1,2,3},{4,5,6},{7,8,9}}
{{1,2},{3,4}}
我需要的输出为:
{{10,11,12},{0,14,15},{0,0,18}}
{{1,2,3},{0,5,6},{0,0,9}}
{{1,2},{0,4}}
1条答案
按热度按时间vulvrdjw1#
你只是把
return result;
放在了错误的位置。不是这个
当然,缩进代码的目的是使这样的错误更容易被发现。