在C++中添加2d数组的元素



我有这个2d数组:

vector<vector<int>> arr = {{1, 1}, 
{1, 3, 2}, 
{1, 6, 11, 6}};

我想添加每行的last元素(1+2+6(,然后添加第二个last(1+3+11(,依此类推((1+6(,(1((。我该怎么做?

顺便说一句,对不起我的英语(不是母语(。

例如,您可以通过

  1. 计算arr元素的最大元素数
  2. 0迭代到最大值减去1
  3. 检索从最后一个元素开始计数的第i个元素,并检查该元素是否具有i个或更多个元素
  4. 添加元素
#include <iostream>
#include <vector>
using std::vector;
int main(void) {
vector<vector<int>> arr = {{1, 1}, 
{1, 3, 2}, 
{1, 6, 11, 6}};
size_t max_num = 0;
for (size_t i = 0; i < arr.size(); i++) {
if (max_num < arr[i].size()) max_num = arr[i].size();
}
for (size_t i = 0; i < max_num; i++) {
int sum = 0;
for (size_t j = 0; j < arr.size(); j++) {
if (i < arr[j].size()) sum += arr[j][arr[j].size() - 1 - i];
}
std::cout << sum << 'n';
}
return 0;
}

最新更新