কম্পিউটার

C++ এ একটি অ্যারের ভারসাম্য সূচক


এই সমস্যায়, আমাদেরকে n পূর্ণসংখ্যার মান সমন্বিত একটি অ্যারে দেওয়া হয়েছে। আমাদের কাজ হল একটি অ্যারের ভারসাম্য সূচক খুঁজে বের করার জন্য একটি প্রোগ্রাম তৈরি করা।

ভারসাম্য সূচক সেই সূচক যেখানে সূচকের আগে সমস্ত উপাদানের যোগফল সূচকের পরে সমস্ত উপাদানের যোগফলের সমান৷

n আকারের অ্যারে অ্যারের জন্য, ভারসাম্য সূচকটি ই এমন যে,

সমষ্টি (arr[0… e-1]) =যোগফল (arr[e… n-1])

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

ইনপুট: arr[] ={5, 1, 2, 8, 3, 4, 1}

আউটপুট: 3

ব্যাখ্যা:

arr[0] + arr[1] + arr[2] =arr[4] + arr[5] + arr[6]

=> 5 + 1 + 2 =3 + 4 + 1

=> 8 =8

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

একটি সহজ পদ্ধতি হল ধারাবাহিকভাবে আবহাওয়া পরীক্ষা করে উপাদান খুঁজে বের করা হবে অ্যারের যেকোনো উপাদান একটি ভারসাম্য সংখ্যা হতে পারে।

এর জন্য আমরা নেস্টেড লুপ ব্যবহার করব। অ্যারের উপাদানগুলির উপাদানগুলির উপর পুনরাবৃত্তি করার জন্য বাইরেরটি৷ এবং অভ্যন্তরীণটি পরীক্ষা করবে যে অ্যারের কোনো উপাদানকে ভারসাম্য সংখ্যা করা যায় কি না।

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

উদাহরণ

#include <bits/stdc++.h>
using namespace std;

int findEquilibriumIndex(int arr[], int n)
{
   int prevSum, nextSum;

   for (int i = 0; i < n; ++i) {  

      prevSum = 0;
      for (int j = 0; j < i; j++)
         prevSum += arr[j];
      nextSum = 0;
      for (int j = i + 1; j < n; j++)
         nextSum += arr[j];
         
      if (prevSum == nextSum)
         return i;
   }
   return -1;
}

int main() {
   
   int arr[] = {5, 1, 2, 8, 3, 4, 1};
   int n = sizeof(arr) / sizeof(arr[0]);
   cout<<"The equilibrium index is "<<findEquilibriumIndex(arr, n);
   return 0;
}

আউটপুট −

The equilibrium index is 3

  1. C++ এ একটি সমষ্টি অ্যারে ধাঁধা?

  2. C++ এ ওভারলোডিং অ্যারে সূচক অপারেটর []

  3. একটি C++ ফাংশনে একটি 2D অ্যারে পাস করা

  4. একটি C++ ফাংশনে একটি অ্যারে পাস করা