C++ 如何获得在2D数组中声明和初始化的所有值的总和? #包括 使用名称空间std; int main() { //声明并初始化2d数组 int arr2d[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}; int i,j; 系统(“cls”); 对于(i=0;i

C++ 如何获得在2D数组中声明和初始化的所有值的总和? #包括 使用名称空间std; int main() { //声明并初始化2d数组 int arr2d[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}; int i,j; 系统(“cls”); 对于(i=0;i,c++,arrays,C++,Arrays,创建一个包含总和的整数。然后,在cout值之后插入: #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 <

创建一个包含总和的整数。然后,在
cout
值之后插入:

#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");      
 }
这只是保持所有值的运行总数。当循环完成时,它将遇到所有值并将其添加到自身中。

您可以使用free函数(在标题
中找到):


&arr2d[0][0]
是指向数组开头的指针(其作用类似于算法的随机访问迭代器),而
&arr2d[2][4]
是数组结束元素的地址(函数需要此地址)。请注意,标准保证“结束元素”中的“过去”存在并具有有效地址。

非常感谢!但我无法1+给出您的答案,我需要更多的代表。哈哈,谢谢一群人:)@ikabod197很高兴我能帮上忙。
sum+=arr2d[i][j];
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);