এই সমস্যায়, আমাদেরকে n পজিটিভ মান সমন্বিত একটি অ্যারে arr[] দেওয়া হয়েছে। আমাদের কাজ হল বাকী সব উপাদানের যোগফলের সমান উপাদান খুঁজে বের করা অ্যারের।
কোড বর্ণনা: আমাদের এমন উপাদান খুঁজে বের করতে হবে যার মান সেই উপাদান ছাড়া অ্যারের সমস্ত উপাদানের যোগফলের সমান।
সমস্যাটি বোঝার জন্য একটি উদাহরণ নেওয়া যাক,
ইনপুট: arr[] ={ 5, 4, 17, 1, 7 }
আউটপুট: 17
ব্যাখ্যা -
বাকি উপাদানের যোগফল (5 + 4 + 1 + 7 ) =17, যা অবশিষ্ট উপাদান 17 এর সমান।
সমাধান পদ্ধতি -
সমস্যার একটি সহজ সমাধান হল যে অ্যারের সমস্ত উপাদানের যোগফল প্রদত্ত উপাদানের দ্বিগুণ। এর জন্য আমরা এই ধাপগুলি অনুসরণ করব,
ধাপ 1: অ্যারের সমস্ত উপাদানের যোগফল খুঁজুন।
ধাপ 2: অ্যারের প্রতিটি উপাদানের জন্য লুপ,
ধাপ 2.1: if arr[i] ==যোগফল/2।
ধাপ 2.1.1: যদি সত্য. পতাকা =1, লুপ ভাঙুন।
ধাপ 2.2.1: মিথ্যা হলে ছেড়ে দিন।
ধাপ 3: যদি পতাকা ==1, প্রিন্ট arr[i]
পদক্ষেপ 4: অন্যথায়, প্রিন্ট করুন “এমন কোনো উপাদান পাওয়া যায়নি ”।
আমাদের সমাধানের কাজ চিত্রিত করার জন্য প্রোগ্রাম,
উদাহরণ
#include <iostream>
using namespace std;
void findElemenetInArray(int arr[], int n) {
int arraySum = 0;
int flag = 0, i;
for (i = 0; i < n; i++)
arraySum += arr[i];
for (i = 0; i < n; i++)
if ( (2*arr[i]) == arraySum ) {
flag = 1;
break;
}
if(flag)
cout<<arr[i];
else
cout<<"No such element is found!";
}
int main() {
int n = 5;
int arr[n] = { 5, 4, 7, 1, 17 };
findElemenetInArray(arr, n);
return 0;
} আউটপুট
17