কম্পিউটার

C++-এ সর্বাধিক M পণ্য বিক্রি করে লাভ সর্বাধিক করুন


প্রদত্ত কাজটি হল সর্বাধিক 'M' পণ্য বিক্রি করে সর্বাধিক লাভের হিসাব করা।

পণ্যের মোট সংখ্যা হল 'N' এবং প্রতিটি পণ্যের মূল্য এবং বিক্রয় মূল্য যথাক্রমে CP[] এবং SP[] তালিকায় দেওয়া আছে৷

ইনপুট

N=6, M=4
CP[]={1,9,5,8,2,11}
SP[]={1,15,10,16,5,20}

আউটপুট

28

ব্যাখ্যা − সমস্ত পণ্য বিক্রি করে প্রাপ্ত লাভ যথাক্রমে 0,6,5,8,3,9৷

সুতরাং, মাত্র 4টি পণ্য বিক্রি করে সর্বোচ্চ মুনাফা করতে হলে, সর্বাধিক লাভের পণ্যগুলিকে বেছে নিতে হবে, অর্থাৎ পণ্য নম্বর 2,3,4 এবং 6৷

সর্বোচ্চ লাভ=6+5+8+9=28

ইনপুট

N=3, M=2
CP[]={10,20,30}
SP[]={19,22,38}

আউটপুট

17

নিম্নলিখিত প্রোগ্রামে ব্যবহৃত পদ্ধতি

  • প্রতিটি পণ্য থেকে প্রাপ্ত লাভ সঞ্চয় করতে int এবং আকার 'N' টাইপের একটি অ্যারে প্রফিট[] তৈরি করুন৷

  • চূড়ান্ত সর্বোচ্চ মুনাফা সঞ্চয় করার জন্য মোট int-এর একটি পরিবর্তনশীল তৈরি করুন।

  • i=0 থেকে i পর্যন্ত লুপ করুন

  • লুপে থাকা অবস্থায়, Profit[i] =Sp[i] – Cp[i>

    সেট করুন
  • কল ফাংশন বাছাই (লাভ, লাভ + N, বৃহত্তর()); ডিসেন্ডিং অ্যারেতে লাভ[] অ্যারে সাজাতে।

  • i=0 থেকে i পর্যন্ত আবার লুপ করুন

  • লুপে থাকা অবস্থায় একটি if কন্ডিশন সেট করুন, if(Profit[i]>0) মান পজিটিভ কি না তা পরীক্ষা করুন এবং যদি তাই হয় তাহলে সেট করুন total+=Profit[i];

  • মোট রিটার্ন;

উদাহরণ

#include <bits/stdc++.h>
using namespace std;
//Function to find profit
int MaxProfit(int N, int M, int Cp[], int Sp[]){
   int Profit[N];
   int total = 0;
   //Calculating profit from each product
   for (int i = 0; i < N; i++)
      Profit[i] = Sp[i] - Cp[i];
   //Arranging profit array in descending order
   sort(Profit, Profit + N, greater<int>());
   //Adding the best M number of profits
   for (int i = 0; i < M; i++){
      if (Profit[i] > 0)
         total += Profit[i];
      else
         break;
   }
   return total;
}
//Main function
int main(){
   int MP;
   int N=6,M=4;
   int CP[] = { 1, 9, 5, 8, 2, 11 };
   int SP[] = { 1, 15, 10, 16, 5, 20 };
   MP = MaxProfit(N, M, CP, SP);
   cout<<”Maximum Profit:”<<MP;
   return 0;
}

আউটপুট

আমরা উপরের কোডটি চালালে আমরা নিম্নলিখিত আউটপুট পাব −

Maximum Profit: 28

  1. C++ এ ধাঁধা III

  2. C++ এ স্টক ক্রয়-বিক্রয়ের পর সর্বোচ্চ লাভ

  3. C++-এ ম্যাট্রিক্সকে নতুন আকার দিন

  4. C++ এ কাজের সময়সূচীতে সর্বোচ্চ লাভ