Computer >> Máy Tính >  >> Lập trình >> C ++

Tổng mảng trong C ++ STL

Mảng là một cấu trúc dữ liệu tuyến tính lưu trữ các phần tử của cùng một kiểu dữ liệu trong các vị trí bộ nhớ liên tục.

Tổng mảng là tổng của tất cả các phần tử của mảng.

Trong ngôn ngữ lập trình c ++, có nhiều phương thức bằng cách bạn có thể tìm tổng mảng.

Phương pháp cổ điển

Phương pháp cơ bản để tìm tổng của tất cả các phần tử của mảng là lặp qua các phần tử của mảng và thêm giá trị của phần tử vào biến tổng.

Thuật toán

Step 1 : For i from 0 to n-1, follow step 2 ;
Step 2 : sum = sum + arr[i]
Step 3 : print sum.

Ví dụ

#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;
}

Đầu ra

The array sum is 39

Sử dụng phương pháp tích lũy

Phương thức tích lũy trong c ++ được sử dụng để tìm tổng mảng. Hàm này có thể được truy cập từ thư viện số trong c ++.

Cú pháp

accumulate(array_name , array_name+length , sum);

Ví dụ

#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;
}

Đầu ra

The array sum is 39

Sử dụng Tổng các Vectơ

Bạn cũng có thể sử dụng hàm tích lũy trên vectơ. Nó sẽ trả về tổng của mảng có dạng vectơ.

Ví dụ

#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;
}

Đầu ra

The sum of array is 239