কম্পিউটার

C++-এ একটি অ্যারের মধ্যম সর্বোচ্চ করুন


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

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++ ব্যবহার করে i*arr[i] সর্বাধিক করার জন্য একটি অ্যারে পুনরায় সাজান

  3. C++-এ -1 দিয়ে অ্যারের উপসর্গ গুণ করে অ্যারের যোগফলকে সর্বাধিক করুন

  4. C++ এ গোলকধাঁধা