কম্পিউটার

C++ এ প্রদত্ত ক্রিয়াকলাপ সম্পাদন করার পর অ্যারেতে সর্বাধিক সম্ভাব্য পণ্য


এই টিউটোরিয়ালে, আমরা প্রদত্ত অপারেশনগুলি সম্পাদন করার পরে অ্যারেতে সর্বাধিক সম্ভাব্য পণ্য খুঁজে বের করার জন্য একটি প্রোগ্রাম নিয়ে আলোচনা করব

এর জন্য আমাদেরকে N-এর আকারের একটি অ্যারে সরবরাহ করা হবে। আমাদের কাজ হল N-1 অপারেশন করা (a[j] → a[i]*a[j] পরিবর্তন করা এবং a[i] মান মুছে ফেলা বা শুধু মানটি সরিয়ে দেওয়া a[i] (শুধুমাত্র একবার)) যাতে অবশিষ্ট মানগুলি সর্বাধিক হয়৷

উদাহরণ

#include <bits/stdc++.h>
using namespace std;
//printing operations
void MaximumProduct(int a[], int n) {
   int cntneg = 0;
   int cntzero = 0;
   int used[n] = { 0 };
   int pos = -1;
   for (int i = 0; i < n; ++i) {
      if (a[i] == 0) {
         used[i] = 1;
         cntzero++;
   }
   if (a[i] < 0) {
      cntneg++;
      if (pos == -1 || abs(a[pos]) > abs(a[i]))
         pos = i;
      }
   }
   if (cntneg % 2 == 1)
      used[pos] = 1;
   if (cntzero == n || (cntzero == n - 1 && cntneg == 1)) {
      for (int i = 0; i < n - 1; ++i)
         cout << 1 << " " << i + 1 << " " << i + 2 << endl;
      return;
   }
   int lst = -1;
   for (int i = 0; i < n; ++i) {
      if (used[i]) {
         if (lst != -1)
            cout << 1 << " " << lst + 1 << " " << i + 1 << endl;
         lst = i;
      }
   }
   if (lst != -1)
      cout << 2 << " " << lst + 1 << endl;
   lst = -1;
   for (int i = 0; i < n; ++i) {
      if (!used[i]) {
         if (lst != -1)
            cout << 1 << " " << lst + 1 << " " << i + 1 << endl;
         lst = i;
      }
   }
}
int main() {
   int a[] = { 5, -2, 0, 1, -3 };
   int n = sizeof(a) / sizeof(a[0]);
   MaximumProduct(a, n);
   return 0;
}

আউটপুট

2 3
1 1 2
1 2 4
1 4 5

  1. C++ এ n আকারের একটি প্রদত্ত অ্যারেতে r উপাদানগুলির সমস্ত সম্ভাব্য সংমিশ্রণ প্রিন্ট করুন

  2. C++ এ একটি অ্যারেতে সর্বোচ্চ ভারসাম্যের যোগফল

  3. |ai + aj – k| এর ন্যূনতম সম্ভাব্য মান C++ এ প্রদত্ত অ্যারে এবং k-এর জন্য

  4. STL ব্যবহার করে C++ এ অ্যারে পণ্য