কম্পিউটার

C++ এ ম্যাট্রিক্সের প্রতিটি সারি থেকে উপাদানের সর্বোচ্চ যোগফল


এই সমস্যায়, আমাদের একটি দুটি ম্যাট্রিক্স ম্যাট দেওয়া হয়েছে [][]। আমাদের কাজ হল C++ এ ম্যাট্রিক্সের প্রতিটি সারি থেকে উপাদানের সর্বোচ্চ যোগফল খুঁজে বের করার জন্য একটি প্রোগ্রাম তৈরি করা।

সমস্যা বর্ণনা

এখানে, আমরা ম্যাট্রিক্সের প্রতিটি সারি থেকে এমনভাবে একটি করে উপাদান নিয়ে সর্বাধিক যোগফল খুঁজে পাব যাতে বর্তমান সারির উপাদানটি যোগফল হিসাবে বিবেচিত শেষ সারির উপাদানটির চেয়ে বড় হয়। আমরা উপরের শর্ত অনুসরণকারী উপাদানগুলির সর্বাধিক যোগফল খুঁজে পাব এবং সম্ভব না হলে -1 প্রিন্ট করব৷

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

ইনপুট

mat[][] = {{4, 6, 1},
{2, 5, 7},
{9, 1, 2}}

আউটপুট

22

ব্যাখ্যা

1st row = 6
2nd row = 7
3rd row = 9
Sum = 6 + 7 + 9 = 22

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

একটি সহজ সমাধান হল ম্যাট্রিক্সের শেষ সারি থেকে শুরু করা। এখানে সবচেয়ে বড় সংখ্যাটি খুঁজুন এবং MaxSum-এ যোগ করুন এবং তারপর একটি সারি উপরে নিয়ে যান, এটির নীচের সারির বৃহত্তম উপাদানের চেয়ে ছোট সংখ্যাটি খুঁজুন। আপনি উপরের সারিতে পৌঁছা পর্যন্ত এটি করুন। যদি আমরা সর্বোচ্চ সংখ্যার চেয়ে কম কোন সংখ্যা খুঁজে পেতে ব্যর্থ হই তাহলে আমরা -1 ফেরত দেব।

উদাহরণ

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

#include <iostream>
using namespace std;
# define row 3
# define col 3

int RowMaxSum(int a[row][col]){
   int maxValLastRow = 10000;
   int maxSum = 0;
   for (int i = row - 1; i >= 0; i--){
      int maxNo = -1;
      for (int j = 0; j < col; j++)
         if (maxValLastRow > a[i][j] && a[i][j] > maxNo)
            maxNo = a[i][j];
      if (maxNo == -1)
         return -1;
      maxValLastRow = maxNo;
      maxSum += maxValLastRow;
   }
   return maxSum;
}
int main(){
   int a[3][3] = {{4, 6, 1},
                  {2, 5, 7},
                  {9, 1, 2}};
   cout<<"The maximum sum of elements from each row in the matrix is "<<RowMaxSum(a);
   return 0;
}

আউটপুট

The maximum sum of elements from each row in the matrix is 22

  1. C++ এ ম্যাট্রিক্সে সর্বাধিক পাথ যোগফল

  2. একটি ম্যাট্রিক্সের প্রতিটি সারি এবং প্রতিটি কলামের যোগফল খুঁজে পেতে C++ প্রোগ্রাম

  3. C++ এ ম্যাট্রিক্সে প্রতিটি সারির সর্বোচ্চ উপাদান খুঁজুন

  4. পাইথনে প্রতিটি সারির উপাদান ফ্লিপ করে সর্বাধিক যোগফল খুঁজে বের করার জন্য প্রোগ্রাম