কম্পিউটার

C++ এ একটি অ্যারের গড় (পুনরাবৃত্ত এবং পুনরাবৃত্তিমূলক) জন্য প্রোগ্রাম


N পূর্ণসংখ্যা arr[N] এর একটি অ্যারে দেওয়া, কাজ হল arr[N]-এর গড় বের করা। ফলাফল অর্জন করতে আমরা হয় পুনরাবৃত্তিমূলক পদ্ধতি বা পুনরাবৃত্তিমূলক পদ্ধতি ব্যবহার করতে পারি। আমরা প্রদত্ত সমাধানে উভয়ই দেখাব।

একটি অ্যারের গড় হবে উপাদানের সংখ্যা দ্বারা বিভক্ত অ্যারের সমস্ত উপাদানের যোগফল৷

পুনরাবৃত্ত পদ্ধতি

পুনরাবৃত্তিমূলক পদ্ধতিতে, আমরা লুপ ব্যবহার করি যেমন ফর-লুপ, while-loop বা do-while লুপ যা কন্ডিশন সত্য না হওয়া পর্যন্ত স্টেটমেন্ট চালায় যার মানে 1।

আসুন একটি উদাহরণ নেওয়া যাক এবং তারপরে আলোচনা করা যাক কিভাবে এটি পুনরাবৃত্তিমূলক পদ্ধতি ব্যবহার করে প্রাপ্ত করা যায়।

ইনপুট

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

আউটপুট

4

ব্যাখ্যা

sum of all the elements =1+2+4+5+8 = 20,
total number of elements = 5
Average will be = 20/5 = 4

ইনপুট

arr[] = {10, 20, 30, 40}

আউটপুট

25

সমস্যার সমাধানের জন্য নিচের পদ্ধতিটি ব্যবহার করা হয়েছে (পুনরাবৃত্ত)

  • একটি লুপ ব্যবহার করে একটি অ্যারের প্রতিটি উপাদান পুনরাবৃত্তি করুন৷

  • যতক্ষণ না আমরা অ্যারের শেষ পর্যন্ত পৌঁছাই ততক্ষণ পর্যন্ত অ্যারের প্রতিটি উপাদান যোগ করুন।

  • মোট উপাদান সংখ্যা দিয়ে যোগফল ভাগ করুন এবং গড় ফেরত দিন।

অ্যালগরিদম

Start
Step 1→ Declare function to calculate average using iterative method
   double avg(int arr[], int size)
      declare int sum = 0
      Loop For int i=0 and i<size and i++
         Set sum += arr[i]
      End
      return sum/size
Step 2→ In main()
   Declare int arr[] = {2,3,1,6,8,10}
   Declare int size = sizeof(arr)/sizeof(arr[0])
   Call avg(arr, size)
Stop

উদাহরণ

#include <iostream>
using namespace std;
//calculate average using an iterative method
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 of an array using iterative method : "&l<t;avg(arr, size) << endl;
   return 0;
}

আউটপুট

উপরের কোডটি চালালে এটি নিম্নলিখিত আউটপুট −

উৎপন্ন করবে
average of an array using iterative method : 5

পুনরাবৃত্ত পদ্ধতি

সুতরাং, একটি পুনরাবৃত্ত পদ্ধতি কি? Recursive পদ্ধতিতে আমরা একটি ফাংশনকে বারবার কল করি যতক্ষণ না আমরা পছন্দসই ফলাফল পাই। পুনরাবৃত্ত পদ্ধতিতে ফাংশন দ্বারা প্রত্যাবর্তিত মানগুলি স্ট্যাক মেমরিতে সংরক্ষণ করা হয়।

আসুন একটি উদাহরণ নেওয়া যাক এবং তারপরে আলোচনা করা যাক কিভাবে এটি পুনরাবৃত্তিমূলক পদ্ধতি ব্যবহার করে প্রাপ্ত করা যায়।

ইনপুট

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

আউটপুট

5

ব্যাখ্যা

sum of all the elements =2+4+6+8 = 20,
total number of elements = 4
Average will be = 20/4 = 5

ইনপুট

arr[] = {12, 23, 45, 15}

আউটপুট

19

সমস্যা সমাধানের জন্য নিচের পদ্ধতিটি ব্যবহার করা হয়েছে (পুনরাবৃত্ত

  • আমরা একটি অ্যারের শেষ না হওয়া পর্যন্ত আমরা ফাংশনটি বারবার কল করব।

  • আমরা অ্যারের প্রতিটি উপাদানের যোগফল দেব এবং যখন আমরা একটি অ্যারের শেষে পৌঁছাব, তখন আমরা অ্যারের গড় ফেরত দেব।

অ্যালগরিদম

Start
Step 1→ Declare function to calculate average using recursive method
   double recursive(int arr[],int i, int size)
      IF (i == size-1)
         return arr[i]
      End
      IF (i == 0)
         return ((arr[i] + recursive(arr, i+1, size))/size)
      End
      return (arr[i] + recursive(arr, i+1, size))
Step 2→ double avg(int arr[], int size)
   return recursive(arr, 0 , size)
Step 3→ In main()
   Declare int arr[] = {1,5,3,2,6,7}
   Declare int size = sizeof(arr)/sizeof(arr[0])
   Call average(arr, size)
Stop

উদাহরণ

#include <iostream>
using namespace std;
//function for calculating average recusively
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));
}
//function for returning average
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 of an array using a recursive approach is : "<<average(arr, size) << endl;
   return 0;
}

আউটপুট

উপরের কোডটি চালালে এটি নিম্নলিখিত আউটপুট −

উৎপন্ন করবে
average of an array using a recursive approach is : 4

  1. একটি অ্যারে সাজানো হয়েছে কিনা তা পরীক্ষা করার জন্য প্রোগ্রাম (পুনরাবৃত্ত এবং পুনরাবৃত্ত) সি-তে

  2. সি প্রোগ্রামে বাইনারি অনুসন্ধান (পুনরাবৃত্ত এবং পুনরাবৃত্তিমূলক)

  3. অ্যারের পণ্যের জন্য সি প্রোগ্রাম

  4. অ্যারের উপাদানগুলির গুণনের জন্য C++ প্রোগ্রাম