এই সমস্যায়, আমাদেরকে m আকারের দুটি সাজানো অ্যারে দেওয়া হয়েছে arr1[] এবং arr2[] এবং একটি উপাদান N। আমাদের কাজ হল দুটি অ্যারের যোগফল দ্বারা গঠিত একটি সেটে Nth আইটেম খুঁজে বের করা।
কোডের বিবরণ − এখানে, আমরা একটি সেট তৈরি করব যেটিতে arr1 এর একটি এবং arr2 এর একটি উপাদানের যোগফল রয়েছে অর্থাৎ sum =arr1[i] + arr2[j], কোথায় i , j
সমস্যাটি বোঝার জন্য একটি উদাহরণ নেওয়া যাক,
আউটপুট
সেটের উপাদানগুলো হল −
সমাধানের পদ্ধতিটি হল অ্যারের উপাদানগুলির যোগফল খুঁজে সেটের উপাদানগুলি খুঁজে বের করা। এর জন্য, আমরা নেস্টেড লুপ, arr1 এর উপাদানগুলিকে পুনরাবৃত্তি করতে আউটার লুপ এবং arr2 এর উপাদানগুলিকে পুনরাবৃত্তি করার জন্য ভিতরের লুপ ব্যবহার করব। এবং অভ্যন্তরীণ লুপের প্রতিটি পুনরাবৃত্তির জন্য, আমরা সমষ্টিকে সেটে সংরক্ষণ করব, যা সদৃশ উপাদানগুলিকে অনুমতি দেবে না। সমস্ত সমষ্টি মান খাওয়ানোর পরে, আমরা সেটটি অতিক্রম করব এবং Nth উপাদানটি ফেরত দেব।
আমাদের সমাধানের কাজ চিত্রিত করার জন্য প্রোগ্রাম, ইনপুট
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.
সমাধান পদ্ধতি
উদাহরণ
#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