কম্পিউটার

একই আকারের দুটি সাজানো অ্যারের মিডিয়ানের জন্য C/C++ প্রোগ্রাম?


এখানে আমরা দেখব কিভাবে একই আকারের দুটি সাজানো অ্যারের মধ্যমা পাওয়া যায়। আমরা অ্যারে উপাদান সংরক্ষণ করতে C++ STL ব্যবহার করব। দুটি অ্যারে পাওয়ার পরে, আমরা সেগুলিকে একটিতে মার্জ করব। একই আকারের দুটি অ্যারে একত্রিত হলে, চূড়ান্ত অ্যারে সর্বদা জোড় সংখ্যার উপাদান ধারণ করবে। আমাদের দুটি মাঝারি উপাদান নিতে হবে, তারপর মধ্যম জন্য তাদের গড় পেতে হবে।

অ্যালগরিদম

মাঝারি(arr1, arr2)

Begin
   arr3 := array after merging arr1 and arr2
   sort arr3
   len := length of arr3
   mid := len/2
   median := (arr3[mid] + arr3[mid-1])/2
   return median
End

উদাহরণ

#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;
float median(vector<int> arr1, vector<int> arr2) {
   vector arr3(arr1.size() + arr2.size());
   merge(arr1.begin(), arr1.end(), arr2.begin(), arr2.end(), arr3.begin());
   sort(arr3.begin(), arr3.end());
   int len = arr3.size();
   int mid = len/2;
   return float(arr3[mid] + arr3[mid-1])/2;
}
main() {
   vector<int> arr1 = {1, 3, 4, 6, 7};
   vector<int> arr2 = {4, 5, 7, 8, 9};
   cout << "Median: " << median(arr1, arr2);
}

আউটপুট

Median: 5.5

  1. nম কাতালান নম্বরের জন্য C/C++ প্রোগ্রাম?

  2. ত্রিভুজাকার ম্যাচস্টিক নম্বরের জন্য C/C++ প্রোগ্রাম?

  3. C++ এ দুটি লাইনের ছেদ বিন্দুর জন্য প্রোগ্রাম

  4. দুটি সাজানো অ্যারে থেকে সবচেয়ে কাছের জুটির সন্ধানের জন্য পাইথন প্রোগ্রাম