如何获取我在 2D 数组中声明和初始化的所有值的总和

How do I get the sum of all the values I declared and initialized in a 2D array?

本文关键字:初始化 声明 数组 何获取 获取 2D      更新时间:2023-10-16
#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 数组中声明和初始化的所有值的总和。:)

*顺便说一句,我正在使用 4.9.9.2 C++开发流血事件

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

sum+=arr2d[i][j];

这仅保留所有值的运行总计。当你的循环完成时,它将遇到并将每个值添加到自身。

您可以使用

std::accumulate free 函数(位于标头 <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]是数组的过去结束元素的地址(函数需要)。请注意,标准保证过去结束元素存在并具有有效地址。