কম্পিউটার

C++ এ একটি বর্গ ম্যাট্রিক্সে সর্বোচ্চ এবং সর্বনিম্ন


সমস্যা বিবৃতি

n*n অর্ডারের একটি বর্গ ম্যাট্রিক্স দেওয়া, ম্যাট্রিক্স থেকে সর্বাধিক এবং সর্বনিম্ন নির্ণয় করুন

উদাহরণ

যদি ম্যাট্রিক্স দেওয়া হয় −

{{15, 17, 19}, {5, 1, 7}, {14, 5, 16}}
then
Minimum number is 1 and maximum number is 19

অ্যালগরিদম

  • ম্যাট্রিক্স থেকে দুটি উপাদান নির্বাচন করুন একটি ম্যাট্রিক্সের একটি সারির শুরু থেকে আরেকটি ম্যাট্রিক্সের একই সারির শেষ থেকে
  • তাদের তুলনা করুন এবং পরবর্তীতে ম্যাট্রিক্সের সর্বনিম্ন এবং বড় ম্যাট্রিক্সের সাথে তাদের ছোট তুলনা করুন।
  • আমরা দেখতে পাচ্ছি যে দুটি উপাদানের জন্য আমাদের 3টি তুলনা করতে হবে তাই সমগ্র ম্যাট্রিক্স অতিক্রম করার জন্য আমাদের মোট 3/2n প্রয়োজন 2 তুলনা

উদাহরণ

আসুন এখন একটি উদাহরণ দেখি -

#include <bits/stdc++.h>
#define MAX 200
using namespace std;
void getMinMax(int matrix[MAX][MAX], int n) {
   int min = INT_MAX;
   int max = INT_MIN;
   for (int i = 0; i < n; ++i) {
      for (int j = 0; j <= n / 2; ++j){
         if (matrix[i][j] > matri[i][n - j - 1]) {
            if (min > matrixi][n - j - 1]) {
               min = marix[i][n - j -1];
            }
            if (max < matrixi][j]) {
               max = marix[i][j];
            }
         } else {
            if (min > matrixi][j]) {
               min = marix[i][j];
            }
            if (max < matrixi][n - j - 1]) {
               max = marix[i][n - j - 1];
            }
         }
      }
   }
   cout << "Maximum = " << max << ", Minimu = " << min << endl;
}
int main() {
   int matrix[MAX][MAX] = { {15, 17, 19}, {5, 1, 7}, {14, 5, 16} };
   getMinMax(matrix, 3);
   return 0;
}

আউটপুট

Maximum = 19, Minimum = 1

  1. একটি লিঙ্ক করা তালিকার সর্বাধিক এবং সর্বনিম্ন উপাদান যা C++ এ একটি প্রদত্ত সংখ্যা k দ্বারা বিভাজ্য

  2. C++ এ n জনের m দলে জোড়ার সর্বনিম্ন এবং সর্বোচ্চ সংখ্যা

  3. C++ এ এককভাবে সার্কুলার লিঙ্কড তালিকায় সর্বনিম্ন এবং সর্বোচ্চ উপাদান খুঁজুন

  4. C++ এ এককভাবে লিঙ্ক করা তালিকার ন্যূনতম এবং সর্বাধিক প্রাইম নম্বর।