C++ STL 中的陣列求和
陣列是一個線性資料結構,它在連續的記憶體位置儲存相同資料型別的元素。
陣列求和是陣列中所有元素的總和。
在C++ 程式語言中,有多種方法可以找到陣列的和。
經典方法
查詢陣列所有元素和的基本方法是遍歷陣列元素並將元素的值新增到 sum 變數。
演算法
Step 1 : For i from 0 to n-1, follow step 2 ; Step 2 : sum = sum + arr[i] Step 3 : print sum.
示例
#include <iostream> using namespace std; int main (){ int arr[] = { 2, 5, 7, 8, 2, 6, 9 }; int n = 7, sum = 0; for(int i = 0; i<n ; i++){ sum+=arr[i]; } cout<<"The array sum is "<<sum; return 0; }
輸出
The array sum is 39
使用 accumulate 方法
C++ 中的accumulate() 方法用於查詢陣列的和。此函式可以從C++ 中的 numeric 庫訪問。
語法
accumulate(array_name , array_name+length , sum);
示例
#include <iostream> #include <numeric> using namespace std; int main (){ int arr[] = { 2, 5, 7, 8, 2, 6, 9 }; int n = 7, sum = 0; sum = accumulate(arr, arr+n, sum); cout<<"The array sum is "<<sum; return 0; }
輸出
The array sum is 39
使用向量求和
你也可以對向量使用accumulate() 函式。它將返回陣列(向量形式)的和。
示例
#include <iostream> #include <vector> #include <numeric> using namespace std; int arraySum(vector<int> &v){ int initial_sum = 0; return accumulate(v.begin(), v.end(), initial_sum); } int main(){ vector<int> v{12, 56, 76, 2, 90 , 3} ; int sum = 0; sum=accumulate(v.begin(), v.end(), sum); cout<<"The sum of array is "<<sum; return 0; }
輸出
The sum of array is 239
廣告
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C 語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP