এই সমস্যায়, আমাদেরকে 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