একটি অ্যারেতে n সংখ্যক এলিমেন্ট স্টোর করা আছে এবং এই প্রোগ্রামটি সেগুলোর গড় বের করে। বিভিন্ন পদ্ধতি ব্যবহার করে।
ইনপুট - 1 2 3 4 5 6 7
আউটপুট - 4
ব্যাখ্যা - অ্যারের এলিমেন্টগুলোর যোগফল 1+2+3+4+5+6+7=28
অ্যারেতে এলিমেন্ট সংখ্যা=৭
গড়=28/7=4
দুটি পদ্ধতি আছে
পদ্ধতি ১ − ইটারেটিভ
এই পদ্ধতিতে আমরা যোগফল বের করব এবং সেটি এলিমেন্টের মোট সংখ্যা দিয়ে ভাগ করব।
দেওয়া অ্যারে arr[] এবং অ্যারের সাইজ n
ইনপুট - 1 2 3 4 5 6 7
আউটপুট - 4
ব্যাখ্যা - অ্যারের এলিমেন্টগুলোর যোগফল 1+2+3+4+5+6+7=28
অ্যারেতে এলিমেন্ট সংখ্যা=৭
গড়=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; }
পদ্ধতি ২ − রিকার্সিভ
আইডিয়া হলো এলিমেন্টের ইনডেক্স একটি অডিশনাল প্যারামিটার হিসেবে পাস করা এবং রিকার্সিভলি যোগফল বের করা। যোগফল বের করার পর সেটি n দিয়ে ভাগ করা।
দেওয়া অ্যারে arr[], অ্যারের সাইজ n এবং ইনিশিয়াল ইনডেক্স i
ইনপুট - 1 2 3 4 5
আউটপুট - 3
ব্যাখ্যা - অ্যারের এলিমেন্টগুলোর যোগফল 1+2+3+4+5=15
অ্যারেতে এলিমেন্ট সংখ্যা=৫
গড়=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; }