কম্পিউটার

C++ এ দুটি অ্যারের যোগফল দ্বারা গঠিত একটি সেটে N’th আইটেম খুঁজুন


এই সমস্যায়, আমাদেরকে m আকারের দুটি সাজানো অ্যারে দেওয়া হয়েছে arr1[] এবং arr2[] এবং একটি উপাদান N। আমাদের কাজ হল দুটি অ্যারের যোগফল দ্বারা গঠিত একটি সেটে Nth আইটেম খুঁজে বের করা।

কোডের বিবরণ − এখানে, আমরা একটি সেট তৈরি করব যেটিতে arr1 এর একটি এবং arr2 এর একটি উপাদানের যোগফল রয়েছে অর্থাৎ sum =arr1[i] + arr2[j], কোথায় i , j

সমস্যাটি বোঝার জন্য একটি উদাহরণ নেওয়া যাক,

ইনপুট

arr1[] = {3, 1, 5} , arr2[] = {6, 2, 8} , N = 4

আউটপুট

ব্যাখ্যা

সেটের উপাদানগুলো হল −

9 (3+6 and 1 +8) , 5 (3 + 2) , 11 (3+8, 5+6), 7 (1+6, 5+2), 3 (1+2), 13 (5+8).
The fourth element is 7.

সমাধান পদ্ধতি

সমাধানের পদ্ধতিটি হল অ্যারের উপাদানগুলির যোগফল খুঁজে সেটের উপাদানগুলি খুঁজে বের করা। এর জন্য, আমরা নেস্টেড লুপ, arr1 এর উপাদানগুলিকে পুনরাবৃত্তি করতে আউটার লুপ এবং arr2 এর উপাদানগুলিকে পুনরাবৃত্তি করার জন্য ভিতরের লুপ ব্যবহার করব। এবং অভ্যন্তরীণ লুপের প্রতিটি পুনরাবৃত্তির জন্য, আমরা সমষ্টিকে সেটে সংরক্ষণ করব, যা সদৃশ উপাদানগুলিকে অনুমতি দেবে না। সমস্ত সমষ্টি মান খাওয়ানোর পরে, আমরা সেটটি অতিক্রম করব এবং Nth উপাদানটি ফেরত দেব।

আমাদের সমাধানের কাজ চিত্রিত করার জন্য প্রোগ্রাম,

উদাহরণ

#include <iostream>
using namespace std;
void calcSumVariables(int sum[], int n) {
   float SUMX = 0;
   for (int i = 0; i < n; i++) {
      SUMX += sum[i];
   }
   SUMX /= (n - 1);
   for (int i = 0; i < n; i++)
      cout<<"\nx"<<(i + 1)<<" = "<<(SUMX - sum[i]);
}
int main(){
   int sum[] = {3, 8, 6, 7, 4, 5, 9 };
   int N = sizeof(sum) / sizeof(sum[0]);
   cout<<"The value of variables that form the sum are ";
   calcSumVariables(sum, N);
   return 0;
}

আউটপুট

The value of variables that form the sum are
x1 = 4
x2 = -1
x3 = 1
x4 = 0
x5 = 3
x6 = 2
x7 = -2

  1. দুই যোগফল IV - ইনপুট হল C++ এ একটি BST

  2. C++ ব্যবহার করে N ফ্যাক্টোরিয়ালের যোগফলের শেষ দুটি সংখ্যা খুঁজুন।

  3. অদলবদল করা উপাদানগুলির একটি জোড়া খুঁজুন যা C++ এ দুটি অ্যারের সমষ্টিকে সমান করে তোলে

  4. C++ STL-এ find() ফাংশন সেট করুন