কম্পিউটার

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


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

সাইজ n সহ দুটি অ্যারে দেওয়া হয়েছে, দ্বিতীয় অ্যারের উপাদানগুলি ব্যবহার করে প্রথম অ্যারেটিকে সর্বাধিক করুন যাতে নতুন অ্যারে ফর্মডটিতে n উভয় অ্যারের সবচেয়ে বড় কিন্তু অনন্য উপাদান থাকে যা দ্বিতীয় অ্যারেকে অগ্রাধিকার দেয় অর্থাৎ দ্বিতীয় অ্যারের সমস্ত উপাদান প্রথমটির আগে উপস্থিত হয়। অ্যারে উপাদানগুলির উপস্থিতির ক্রমটি ইনপুট হিসাবে আউটপুটে একই রাখা উচিত

যদি arr1[] ={12, 15, 10} এবং arr2[] ={16, 17, 5} তাহলে {16, 17, 15} হল ক্রম বজায় রেখে উভয় অ্যারের থেকে সর্বাধিক উপাদান।

অ্যালগরিদম

<পূর্ব>1. 2 * n2 আকারের অস্থায়ী অ্যারে তৈরি করুন। arr1 এবং arr2-এর উপাদানগুলিকে অস্থায়ী অ্যারেতে সংরক্ষণ করুন এবং এটিকে ক্রমানুসারে সাজান3। ইনপুট অ্যারে অনুযায়ী উপাদানের ক্রম রাখতে আমরা হ্যাশ টেবিল 4 ব্যবহার করব। হ্যাশ টেবিল 5 এ অস্থায়ী অ্যারের প্রথম n বৃহত্তম অনন্য উপাদান সংরক্ষণ করুন। দ্বিতীয় অ্যারেটি অতিক্রম করুন এবং হ্যাশ টেবিল 6-এ উপস্থিত অস্থায়ী অ্যারেতে দ্বিতীয় অ্যারের উপাদানগুলি সংরক্ষণ করুন। একইভাবে, প্রথম অ্যারে অতিক্রম করুন এবং হ্যাশ টেবিল 7-এ উপস্থিত উপাদানগুলি সংরক্ষণ করুন। এইভাবে আমরা অস্থায়ী অ্যারে উভয় অ্যারে থেকে n অনন্য এবং বৃহত্তম উপাদান পাই

উদাহরণ

#include নেমস্পেস ব্যবহার করে std;void printArray(int *arr, int n){ এর জন্য (int i =0; i  b;}void getMaxElements(int *arr1, int *arr2, int n){ int temp[2 * n]; int k =0; জন্য (int i =0; i  হ্যাশ; int i =0; যখন (hash.size() !=n) { if (hash.find(temp[i]) ==hash.end()) { hash.insert(temp[i]); } ++i; } k =0; জন্য (int i =0; i  

আউটপুট

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

তৈরি করে
প্রথম অ্যারে:12 15 10 দ্বিতীয় অ্যারে:16 17 5 সর্বোচ্চ অ্যারে:16 17 15

  1. C++ ব্যবহার করে সমস্ত উপাদান 0 করতে একটি অ্যারেতে ন্যূনতম সংখ্যক অপারেশন।

  2. C++ এ STL-এ জোড়া ব্যবহার করে অন্য অ্যারের অনুযায়ী একটি অ্যারে সাজানো

  3. হিপ সর্ট অ্যালগরিদম ব্যবহার করে 10টি উপাদানের একটি অ্যারে সাজানোর জন্য C++ প্রোগ্রাম

  4. পয়েন্টার ব্যবহার করে একটি অ্যারের উপাদান অ্যাক্সেস করার জন্য C++ প্রোগ্রাম