#include<iostream>
using namespace std;
int main()
{
// declared and initialized the 2d array
int arr2d[3][4] = {{1,2,3,4}, {5,6,7,8}, {9,10,11,12}};
int i, j;
system("cls");
for (i = 0; i < 3; i++)
{
for (j = 0; j < 4; j++)
{
cout << arr2d[i][j] << "\t";
}
cout << endl;
}
system("pause");
}
这是我(教授)的代码。我仍然是C ++的新手(实际上大学一年级学生)。我想知道一个简单而且非常基本的代码,它将帮助我获得我在2D数组中声明和初始化的所有值的总和。 :)
* BTW我正在使用Dev Bloodshed C ++ 4.9.9.2
答案 0 :(得分:1)
创建一个包含总和的整数。然后,在您cout
之后插入值:
sum+=arr2d[i][j];
这只是保持所有值的总计。当你的循环结束时,它会遇到并将每个值添加到自身。
答案 1 :(得分:0)
您可以使用std::accumulate
免费功能(位于标题<algorithm>
中):
int arr2d[3][4] = {{1,2,3,4}, {5,6,7,8}, {9,10,11,12}};
int sum = std::accumulate(&arr2d[0][0], &arr2d[2][4], 0);
&arr2d[0][0]
是指向数组开头的指针(其作用类似于算法的随机访问迭代器),而&arr2d[2][4]
是指向过去的结尾元素的地址。数组(函数需要)。请注意,标准保证过去的结束元素存在并具有有效的地址。