Total Number of Even and Odd Elements in an Array – Using Recursion

List Topics
September 1, 2025
No Comments
3 min read

Total Number of Even and Odd Elements in an Array – Using Recursion

যা শিখবো:

  • কীভাবে recursion ব্যবহার করে array-এর even ও odd elements count করা যায়
  • base case ও recursive call কিভাবে কাজ করে
  • array indexing এবং modulo operator % ব্যবহার

ধাপে ধাপে ব্যাখ্যা:

Step 1: Even elements count করার function

C
int countEven(int arr[], int n, int index) {
    if(index == n)  // Base case
        return 0;
    if(arr[index] % 2 == 0)
        return 1 + countEven(arr, n, index + 1); // Recursive call
    else
        return countEven(arr, n, index + 1); // Recursive call
}

Step 2: Odd elements count করার function

C
int countOdd(int arr[], int n, int index) {
    if(index == n)  // Base case
        return 0;
    if(arr[index] % 2 != 0)
        return 1 + countOdd(arr, n, index + 1); // Recursive call
    else
        return countOdd(arr, n, index + 1); // Recursive call
}

Step 3: ইউজার থেকে array size ইনপুট নেওয়া

C
scanf("%d", &n);

Step 4: ইউজার থেকে array elements ইনপুট নেওয়া

C
for(i = 0; i < n; i++) {
    scanf("%d", &arr[i]);
}

Step 5: Functions call করে even ও odd count বের করা

C
evenCount = countEven(arr, n, 0);
oddCount = countOdd(arr, n, 0);

উদাহরণ:

C
#include <stdio.h>

// Function to count even elements using recursion
int countEven(int arr[], int n, int index) {
    if(index == n)
        return 0;
    if(arr[index] % 2 == 0)
        return 1 + countEven(arr, n, index + 1);
    else
        return countEven(arr, n, index + 1);
}

// Function to count odd elements using recursion
int countOdd(int arr[], int n, int index) {
    if(index == n)
        return 0;
    if(arr[index] % 2 != 0)
        return 1 + countOdd(arr, n, index + 1);
    else
        return countOdd(arr, n, index + 1);
}

int main() {
    int n, i, evenCount, oddCount;

    printf("Enter the number of elements: ");
    scanf("%d", &n);

    int arr[n];

    printf("Enter the elements:\n");
    for(i = 0; i < n; i++) {
        scanf("%d", &arr[i]);
    }

    evenCount = countEven(arr, n, 0);
    oddCount = countOdd(arr, n, 0);

    printf("\nTotal even elements: %d", evenCount);
    printf("\nTotal odd elements: %d", oddCount);

    return 0;
}

আউটপুট উদাহরণ:

উদাহরণ ১:

C
Enter the number of elements: 6
Enter the elements:
2 5 8 7 10 3

Total even elements: 3
Total odd elements: 3

উদাহরণ ২:

C
Enter the number of elements: 5
Enter the elements:
1 3 5 7 9

Total even elements: 0
Total odd elements: 5

ব্যাখ্যা:

  • countEven() → recursion ব্যবহার করে array-এর even elements count করে
  • countOdd() → recursion ব্যবহার করে array-এর odd elements count করে
  • Base Case → index == n হলে recursion থেমে যায়
  • Recursive Call → পরবর্তী index check করে even বা odd হলে 1 যোগ করে return করে
  • main() ফাংশনে ইউজারের input নিয়ে functions call করা হয় এবং ফলাফল প্রিন্ট করা হয়

©2025 Linux Bangla | Developed & Maintaind by Linux Bangla.