কম্পিউটার

C++-এ একই অ্যারেতে K উপাদান যোগ করার পর প্রদত্ত অ্যারের মধ্যমাটি সর্বাধিক করুন


সমস্যা বিবৃতি

N উপাদানগুলির একটি অ্যারে অ্যারে[] দেওয়া হয়েছে এবং একটি পূর্ণসংখ্যা K যেখানে K

যদি ইনপুট অ্যারে হয় {1, 3, 2, 5} এবং k =3 তাহলে −

  • বাছাই করা অ্যারে হয়ে যায় {1, 2, 3, 5
  • 3টি উপাদান সন্নিবেশ করান যা 5-এর বেশি। এই অপারেশনের পরে অ্যারে হয়ে যায় {1, 2, 3, 5, 6, 6, 6
  • নতুন অ্যারের মাঝারি হল 5

অ্যালগরিদম

<পূর্ব>1. ফলস্বরূপ অ্যারের মধ্যমাকে সর্বাধিক করার জন্য, যে সমস্ত উপাদানগুলিকে সন্নিবেশ করতে হবে সেগুলি অবশ্যই অ্যারে2 থেকে সর্বাধিক উপাদানের চেয়ে বেশি হতে হবে। অ্যারে সাজান এবং অ্যারের মাঝামাঝি হবে arr[size / 2] যদি সাইজটি বিজোড় হয় (arr[(size / 2) – 1] + arr[size / 2]) / 2

উদাহরণ

#include নেমস্পেস ব্যবহার করে std;ডাবল getMaxMedian(int *arr, int n, int k){ int newSize =n + k; ডবল মিডিয়ান; sort(arr, arr + n); যদি (নতুন সাইজ % 2 ==0) { মধ্যমা =(arr[(newSize / 2) - 1] + arr[newSize / 2]) / 2; ফিরতি মধ্যক; } মধ্যমা =arr[নতুন আকার / 2]; রিটার্ন মিডিয়ান;}int main(){int arr[] ={1, 3, 2, 5}; int n =sizeof(arr) / sizeof(arr[0]); int k =3; cout <<"ম্যাক্স মিডিয়ান =" < 

আউটপুট

আপনি যখন উপরের প্রোগ্রামটি কম্পাইল এবং এক্সিকিউট করবেন। এটি নিম্নলিখিত আউটপুট তৈরি করে:

সর্বোচ্চ মধ্যমা =5

  1. C++ এ অন্য অ্যারে ব্যবহার করে উপাদানগুলিকে সর্বাধিক করুন

  2. C++ এ K নেগেশানের পরে অ্যারের যোগফল সর্বাধিক করুন

  3. C++ এ প্রদত্ত সংখ্যা পর্যন্ত অ্যারের উপাদানগুলিকে সর্বাধিক করুন

  4. C++ এ প্রদত্ত অ্যারের উপাদানগুলির ফ্যাক্টোরিয়ালের GCD খুঁজুন