มีองค์ประกอบจำนวน n รายการที่จัดเก็บไว้ในอาร์เรย์ และโปรแกรมนี้คำนวณค่าเฉลี่ยของตัวเลขเหล่านั้น โดยใช้วิธีการต่างๆ
ป้อนข้อมูล - 1 2 3 4 5 6 7
ผลผลิต - 4
คำอธิบาย - ผลรวมขององค์ประกอบของอาร์เรย์ 1+2+3+4+5+6+7=28
จำนวนองค์ประกอบในอาร์เรย์=7
เฉลี่ย=28/7=4
มี 2 วิธี
วิธีที่ 1 −Iterative
ในวิธีนี้ เราจะหาผลรวมและหารผลรวมด้วยจำนวนองค์ประกอบทั้งหมด
กำหนดอาร์เรย์ arr[] และขนาดของอาร์เรย์ n
ป้อนข้อมูล - 1 2 3 4 5 6 7
ผลผลิต - 4
คำอธิบาย - ผลรวมขององค์ประกอบของอาร์เรย์ 1+2+3+4+5+6+7=28
จำนวนองค์ประกอบในอาร์เรย์=7
เฉลี่ย=28/7=4
ตัวอย่าง
#include<iostream> using namespace std; int main() { int arr[] = { 1, 2, 3, 4, 5, 6, 7 }; int n=7; int sum = 0; for (int i=0; i<n; i++) { sum += arr[i]; } float average = sum/n; cout << average; return 0; }
วิธีที่ 2 - แบบเรียกซ้ำ
แนวคิดคือส่งดัชนีขององค์ประกอบเป็นพารามิเตอร์เพิ่มเติมและคำนวณผลรวมแบบเรียกซ้ำ หลังจากคำนวณผลรวมแล้ว ให้หารผลรวมด้วย n
กำหนดอาร์เรย์ arr[] ขนาดของอาร์เรย์ n และดัชนีเริ่มต้น i
ป้อนข้อมูล - 1 2 3 4 5
ผลผลิต - 3
คำอธิบาย - ผลรวมขององค์ประกอบของอาร์เรย์ 1+2+3+4+5=15
จำนวนองค์ประกอบในอาร์เรย์=5
เฉลี่ย=15/5=3
ตัวอย่าง
#include <iostream> using namespace std; int avg(int arr[], int i, int n) { if (i == n-1) { return arr[i]; } if (i == 0) { return ((arr[i] + avg(arr, i+1, n))/n); } return (arr[i] + avg(arr, i+1, n)); } int main() { int arr[] = {1, 2, 3, 4, 5}; int n = 5; cout << avg(arr,0, n) << endl; return 0; }