কম্পিউটার টিউটোরিয়াল

সি++-এ অ্যারের গড় (Average) বের করার প্রোগ্রাম (ইটেরেটিভ ও রিকারসিভ)


একটি অ্যারে arr[N] দেওয়া আছে। অ্যারের গড় বের করতে হবে। দুই পদ্ধতিতে সমাধান দেখানো হলো: ইটেরেটিভ (লুপ) এবং রিকারসিভ (পুনরাবৃত্তি)।

গড় = সব উপাদানের যোগফল / উপাদানের সংখ্যা।

ইটেরেটিভ পদ্ধতি

লুপ (for/while) ব্যবহার করে প্রতিটি উপাদান যোগ করে গড় বের করা।

ইনপুট

arr[] = {1, 2, 4, 5, 8}

আউটপুট

4

ব্যাখ্যা — যোগফল = 20, সংখ্যা = 5, গড় = 20/5 = 4

পদ্ধতি (ইটেরেটিভ)

  • লুপ দিয়ে প্রতিটি উপাদান যোগ করুন।
  • যোগফলকে আকার দিয়ে ভাগ করুন।

এলগরিদম

Start
Step 1 → double avg(int arr[], int size)
    int sum = 0
    for i = 0 to size-1: sum += arr[i]
    return sum/size
Step 2 → main(): অ্যারে ঘোষণা, avg() কল
Stop

উদাহরণ কোড (ইটেরেটিভ)

#include <iostream> 
using namespace std; 

double avg(int arr[], int size){
    int sum = 0;
    for (int i = 0; i < size; i++)
        sum += arr[i];
    return sum/size;
}

int main(){
    int arr[] = {2, 3, 1, 6, 8, 10};
    int size = sizeof(arr)/sizeof(arr[0]);
    cout << "Average (iterative): " << avg(arr, size) << endl;
    return 0;
}

আউটপুট

Average (iterative): 5

রিকারসিভ পদ্ধতি

ফাংশন নিজেরকে বারবার কল করে উপাদানগুলো যোগ করে, শেষে গড় রিটার্ন করে।

ইনপুট

arr[] = {2, 4, 6, 8}

আউটপুট

5

এলগরিদম (রিকারসিভ)

Start
Step 1 → double recursive(int arr[], int i, int size)
    if i == size-1 return arr[i]
    if i == 0 return (arr[i] + recursive(arr, i+1, size))/size
    return arr[i] + recursive(arr, i+1, size)

Step 2 → double avg(int arr[], int size)
    return recursive(arr, 0, size)

Step 3 → main(): অ্যারে ঘোষণা, avg() কল
Stop

উদাহরণ কোড (রিকারসিভ)

#include <iostream> 
using namespace std; 

double recursive(int arr[], int i, int size){
    if (i == size-1) return arr[i];
    if (i == 0) return ((arr[i] + recursive(arr, i+1, size))/size);
    return (arr[i] + recursive(arr, i+1, size));
}

double average(int arr[], int size){
    return recursive(arr, 0, size);
}

int main(){
    int arr[] = {1, 5, 3, 2, 6, 7};
    int size = sizeof(arr)/sizeof(arr[0]);
    cout << "Average (recursive): " << average(arr, size) << endl;
    return 0;
}

আউটপুট

Average (recursive): 4

  1. C-তে অ্যারের সর্টেড অবস্থা যাচাই (ইটেরেটিভ ও রিকারসিভ)

  2. C প্রোগ্রামিং-এ বাইনারি সার্চ (Binary Search) - রিকার্সিভ এবং ইটেরেটিভ

  3. C প্রোগ্রাম: অ্যারে-এর উপাদানগুলোর গুণফল (Product) বের করা

  4. C++ প্রোগ্রাম: অ্যারে উপাদানগুলোর গুণফল বের করা