গড় হল সংখ্যাগুলোর যোগফল কোটা সংখ্যা দিয়ে ভাগফল।
এই সমস্যাতিতে আমাদের একটি সংখ্যা স্ট্রিম দেওয়া থাকবে। এবং আমরা স্ট্রিমের প্রতিটি পয়েন্টে গড় প্রিন্ট করব।
উদাহরণস্বরূপ, ৫টি সংখ্যার স্ট্রিম: 24, 76, 29, 63, 88। স্ট্রিমের প্রতিটি পয়েন্টে গড় হবে:
24, 50, 43, 48, 56
এজন্য আমরা স্ট্রিমে প্রতিবার সংখ্যা যোগ হলে গড় বের করব। অর্থাৎ ১টি সংখ্যার গড়, ২টি সংখ্যার গড়, ৩টি সংখ্যার গড় ইত্যাদি। এর জন্য পূর্ববর্তী গড় ব্যবহার করব।
অ্যালগরিদম
Step 1: i = 0 থেকে n (স্ট্রিমের দৈর্ঘ্য) পর্যন্ত।
Step 2: গড় বের করুন সূত্র ব্যবহার করে:
Average = (average * i) + arr[i] / (i+1)
Step 3: গড় প্রিন্ট করুন।
উদাহরণ কোড
#include <iostream>
using namespace std;
int main() {
int arr[] = {24, 76, 29, 63, 88};
int average = 0;
int n = sizeof(arr) / sizeof(arr[0]);
for (int i = 0; i < n; i++) {
average = ((average * i) + arr[i]) / (i + 1);
cout << "The average of " << i+1 << " numbers of the stream is " << average << endl;
}
return 0;
}
আউটপুট
The average of 1 numbers of the stream is 24 The average of 2 numbers of the stream is 50 The average of 3 numbers of the stream is 43 The average of 4 numbers of the stream is 48 The average of 5 numbers of the stream is 56
এই অ্যালগরিদমটি সব ডেটা টাইপের জন্য প্রযোজ্য। এবং স্ট্রিমের প্রতিটি পয়েন্টে গড় বের করতে ব্যবহার করা যায়।