কম্পিউটার

একটি অ্যারেতে সর্বাধিক যা C++ এ সাজানো অন্য অ্যারে তৈরি করতে পারে


আমাদেরকে Arr1[] এবং একই বা ভিন্ন দৈর্ঘ্যের আরেকটি Arr2[] সংখ্যার অ্যারে দেওয়া হয়েছে। Arr1[]-এর উপাদানগুলি আরোহী ক্রমে সাজানো হয়েছে, যেমন একটি একক উপাদানকে সাজানো হয়নি। আমাদের অবশ্যই দ্বিতীয় অ্যারে Arr2[] থেকে উপাদানটি খুঁজে বের করতে হবে যাতে এটি Arr1[] এর ভুলভাবে স্থাপন করা উপাদানটিকে প্রতিস্থাপন করতে পারে এবং এটিকে সাজাতে পারে। এছাড়াও, একাধিক বিকল্প উপলব্ধ থাকলে Arr2[]থেকে নির্বাচিত উপাদানটি সর্বাধিক হওয়া উচিত।

ইনপুট

Arr1[]={ 1,3,5,7,2,11 }, Arr2[]={ 4,8,7,10,9 }

আউটপুট

সর্বাধিক উপাদান যা Arr1 সাজাতে পারে:10

ব্যাখ্যা − Arr2[]-এ যে সংখ্যাগুলি Arr1[] সাজাতে পারে − 8,9,10 হিসাবে সেগুলি হল>=7 এবং <=11। এর মধ্যে ১০টি সর্বোচ্চ।

নতুন Arr1[] হয়ে যায় {1,3,5,7,10,11 } এবং সাজানো হয়।

ইনপুট

Arr1[]={ 12,5,22,17 }, Arr2[]={ 4,8,7,10,9 }

আউটপুট

এমন কোন উপাদান নেই।

ব্যাখ্যা − Arr2[]-এ কোন সংখ্যা নেই যা>=12 এবং <=22।

Arr1[] সাজানো যাবে না।

নিম্নলিখিত প্রোগ্রামে ব্যবহৃত পদ্ধতি

  • অ্যারে arr1[] এবং arr2[] সংখ্যা সংরক্ষণ করতে ব্যবহৃত হয়। Arr1[] একটি উপাদান ব্যতীত আরোহী ক্রমে সাজানো হয়।

  • ফাংশন sortMax( int arr1[], int arr2[], int n1, int n2 ) উভয় অ্যারে নেয় এবং তাদের দৈর্ঘ্য এবং আপডেট arr1[] যদি arr2[]-এ উপাদানটি সর্বাধিক পাওয়া যায় এবং arr-এ ভুল উপাদান প্রতিস্থাপন করতে পারে[]

  • ভেরিয়েবল wpos-এ arr1[] এ ভুল স্থাপন করা উপাদানের সূচী সংরক্ষণ করুন, প্রাথমিকভাবে -1।

  • maxx ব্যবহার করা হয় arr2[]-এর উপাদানগুলির মধ্যে সর্বাধিক সঞ্চয় করতে যা arr1[]-এর ভুলভাবে স্থাপন করা উপাদানটিকে প্রতিস্থাপন করতে পারে এবং এটিকে সাজাতে পারে।

  • প্রথমে ট্র্যাভারে arr1[] এবং ভুল উপাদান খুঁজে বের করুন যেমন। যদি arr[i] হিসাবে সংরক্ষণ করুন

  • এখন travers arr2[] এবং arr1[wpos-1] andarr[wpos+1] এর মধ্যে স্থাপন করা যেতে পারে এমন উপাদানগুলি খুঁজুন। এছাড়াও যদি এমন একটি উপাদান বিদ্যমান থাকে তবে এটিকে maxx এ জাতীয় উপাদানের সাথে তুলনা করুন।

  • সর্বোচ্চ আপডেট করুন।

  • শেষ পর্যন্ত arr1[wpos] কে maxx দিয়ে প্রতিস্থাপন করুন।

  • যদি এই ধরনের একটি উপাদান পাওয়া যায় তাহলে maxx ফেরত দিন, অন্যথায় -1 ফেরত দিন।

  • যদি কোনো উপাদান পাওয়া না যায় তাহলে একটি বার্তা প্রদর্শন করুন৷

  • অন্যথায় প্রিন্ট সাজানো arr1[]।

উদাহরণ

নামস্থান std;int sortMax(int ​​arr1[], int arr2[], int n1, int n2) // arr1 সাজানো{ int ব্যবহার করে অ্যারে সাজানোর জন্য C++ প্রোগ্রাম #include wpos=-1; int maxx=-1; int i,j; for(i=0;i=arr1[wpos-1] &&arr2[j]<=arr1[wpos+1]) if(arr2[j]>=maxx ) maxx=arr2[j]; } if(maxx!=-1) arr1[wpos]=maxx; রিটার্ন maxx;}int main(){int arr1[] ={1, 3, 7, 4, 10}; int arr2[] ={ 2, 1, 6, 8, 9}; int len1 =sizeof(arr1) / sizeof(arr1[0]); int len2 =sizeof(arr2) / sizeof(arr2[0]); int res=sortMax(arr1, arr2, len1, len2); if(res==-1) cout<<"কোন অদলবদল সম্ভব নয়! এরকম কোন উপাদান নেই!"; অন্য{ cout<<"সর্বোচ্চ arr2[] করতে arr1[] সাজানো:"<

আউটপুট

Arr1[] সাজানো:9Arr1[]:1 3 7 9 10Arr2[]:2 1 6 8 9 করতে সর্বোচ্চ arr2[] 

  1. C++ এ একটি অ্যারেতে সর্বোচ্চ ভারসাম্যের যোগফল

  2. একটি অ্যারেতে মৌলিক সংখ্যা K খুঁজুন যেমন (A[i] % K) C++-এ সর্বাধিক

  3. C++ এ একটি প্রদত্ত সংখ্যার সংখ্যা ব্যবহার করে তৈরি করা যেতে পারে এমন সর্বাধিক সংখ্যা খুঁজুন

  4. ফাংশন যা C++ এ ওভারলোড করা যাবে না