কম্পিউটার

প্রদত্ত ম্যাট্রিক্সটি ম্যাজিক স্কোয়ার নাকি C++ এ নয় তা পরীক্ষা করুন


এখানে আমরা দেখব, ম্যাট্রিক্স ম্যাজিক স্কয়ার না হলে ম্যাজিক বর্গ হল একটি বর্গ ম্যাট্রিক্স, যেখানে প্রতিটি সারি, প্রতিটি কলাম এবং প্রতিটি কর্ণের সমষ্টি একই।

ধরুন একটি ম্যাট্রিক্স নিচের মত -

৷ ৷
6 18
7 5 3
2 9 4

এটি একটি ম্যাজিক বর্গ, যদি আমরা দেখি, প্রতিটি সারি, কলাম এবং কর্ণের যোগফল 15।

একটি ম্যাট্রিক্স ম্যাজিক বর্গ কিনা তা পরীক্ষা করার জন্য, আমাদের প্রধান তির্যক সমষ্টি এবং গৌণ তির্যক যোগফল খুঁজে বের করতে হবে, যদি তারা একই হয় তবে সেটিই ম্যাজিক বর্গ, অন্যথায় নয়।

উদাহরণ

#include <iostream>
#define N 3
using namespace std;
bool isMagicSquare(int mat[][N]) {
   int sum_diag = 0,sum_diag_second=0;
   for (int i = 0; i < N; i++)
      sum_diag = sum_diag + mat[i][i];
   for (int i = 0; i < N; i++)
      sum_diag_second = sum_diag_second + mat[i][N-1-i];
   if(sum_diag!=sum_diag_second)
      return false;
   for (int i = 0; i < N; i++) {
      int rowSum = 0;
      for (int j = 0; j < N; j++)
         rowSum += mat[i][j];
      if (rowSum != sum_diag)
         return false;
   }
   for (int i = 0; i < N; i++) {
      int colSum = 0;
      for (int j = 0; j < N; j++)
         colSum += mat[j][i];
      if (sum_diag != colSum)
      return false;
   }
   return true;
}
int main() {
   int mat[][N] = {{ 6, 1, 8 },
   { 7, 5, 3 },
   { 2, 9, 4 }};
   if (isMagicSquare(mat))
      cout << "It is Magic Square";
   else
   cout << "It is Not a magic Square";
}

আউটপুট

It is Magic Square

  1. একটি প্রদত্ত ট্রি গ্রাফ রৈখিক নাকি C++ এ নয় তা পরীক্ষা করুন

  2. একটি ম্যাট্রিক্স বাইনারি ম্যাট্রিক্স নাকি C++ এ নয় তা পরীক্ষা করার জন্য প্রোগ্রাম

  3. C++-এ idempotent ম্যাট্রিক্স চেক করার প্রোগ্রাম

  4. প্রদত্ত গ্রাফে অবশ্যই হ্যামিলটোনিয়ান সাইকেল থাকতে হবে কি না তা পরীক্ষা করার জন্য C++ প্রোগ্রাম