Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

ผลรวมอาร์เรย์ใน C ++ STL


อาร์เรย์ เป็นโครงสร้างข้อมูลเชิงเส้นที่เก็บองค์ประกอบของประเภทข้อมูลเดียวกันในตำแหน่งหน่วยความจำต่อเนื่อง

Array sum คือผลรวมขององค์ประกอบทั้งหมดของอาร์เรย์

ในภาษาโปรแกรม c++ มีหลายวิธีโดยคุณสามารถค้นหาผลรวมอาร์เรย์ได้

วิธีการแบบคลาสสิก

วิธีการพื้นฐานในการค้นหาผลรวมขององค์ประกอบทั้งหมดของอาร์เรย์คือการวนซ้ำองค์ประกอบของอาร์เรย์และเพิ่มค่าขององค์ประกอบลงในตัวแปรผลรวม

อัลกอริทึม

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

การใช้วิธีการสะสม

วิธีการสะสมใน c ++ ใช้เพื่อค้นหาผลรวมอาร์เรย์ ฟังก์ชันนี้สามารถเข้าถึงได้จากไลบรารีตัวเลขใน c++

ไวยากรณ์

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

การใช้ผลรวมของเวกเตอร์

คุณสามารถใช้ฟังก์ชันสะสมบนเวกเตอร์ได้เช่นกัน มันจะส่งคืนผลรวมของอาร์เรย์ซึ่งเป็นรูปแบบเวกเตอร์

ตัวอย่าง

#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