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

ตัวเลขเฉลี่ยในอาร์เรย์ในการเขียนโปรแกรม C


มีองค์ประกอบจำนวน 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;
}