如何获取我在 2D 数组中声明和初始化的所有值的总和
How do I get the sum of all the values I declared and initialized in a 2D array?
#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]
是数组的过去结束元素的地址(函数需要)。请注意,标准保证过去结束元素存在并具有有效地址。
相关文章:
- 如何声明特征矩阵,然后通过嵌套循环初始化它
- 在函数内部的声明中初始化数组,并在外部使用它
- 有没有办法一次声明相同类型的多个对象,并通过一个表达式立即使用相同的右值初始化它们?
- 构造函数/函数声明参数列表中的统一初始化
- 使用直接大括号初始化时,C++ 编译错误"声明末尾的预期";"
- 强制使用默认构造函数对成员进行未初始化的声明
- 无法在声明时使用初始值设定项列表初始化常量字符*/字符串数组的向量
- 初始化声明符是 prvalue 表达式吗?
- 智能指针可以单独向前声明和初始化吗?
- 在C++中,如果成员引用在其声明中初始化,为什么需要存储空间?
- C++ 通过函数声明后初始化向量
- C++声明变量时自动类型推断而不初始化
- C++ 警告:在一个声明中将截断从双精度初始化为浮点数,但在另一个声明中则不初始化
- 用初始化列表和超类构造函数声明子类构造函数的正确方式
- 在c++中的复制构造函数/一个声明语句中的初始化的延续中使用chain方法
- public:静态常量字符串声明/初始化问题
- 如何在成员初始化列表中声明共享指针
- c++:何时初始化声明的变量而不将其分配给任何值
- C++ 非整型模板 Const 初始化 预期在类名之前使用初始化声明符
- C++ 模板类编译错误:令牌之前'<'预期的初始化声明器