কম্পিউটার

প্রদত্ত ম্যাট্রিক্সকে C++ এ একটি ডায়াগোনাল ম্যাট্রিক্সে রূপান্তর করার প্রোগ্রাম


nxn আকারের ম্যাট্রিক্সের সাথে প্রদত্ত যে কোনও ধরণের প্রদত্ত ম্যাট্রিক্সকে একটি তির্যক ম্যাট্রিক্সে রূপান্তর করার কাজ।

একটি তির্যক ম্যাট্রিক্স কি

তির্যক ম্যাট্রিক্স হল সেই এনএক্সএন ম্যাট্রিক্স যার সমস্ত অ-তির্যক উপাদান শূন্য এবং তির্যক উপাদানগুলি যে কোনও মান হতে পারে৷

নিচে অ তির্যক উপাদানকে 0 এ রূপান্তর করার চিত্রটি দেওয়া হল।

$$\begin{bmatrix}1 &2 &3 \\4 &5 &6 \\7 &8 &9 \end{bmatrix}\:\rightarrow\:\begin{bmatrix}1 &0 &3 \\0 &5 &0 \\7 &0 &9 \end{bmatrix}$$

পদ্ধতিটি হল সমস্ত অ-তির্যক উপাদানগুলির জন্য একটি লুপ এবং তির্যক উপাদানগুলির জন্য আরেকটি লুপ শুরু করা এবং অ-কর্ণের মানকে শূন্য দিয়ে প্রতিস্থাপন করা এবং তির্যক উপাদানগুলি অপরিবর্তিত রাখা।

উদাহরণ

Input-: matrix[3][3] = {{ 1, 2, 3 },
   { 4, 5, 6 },
   { 7, 8, 9 }}
Output-: {{ 1, 0, 3},
   { 0, 5, 0},
   { 7, 0, 9}}
Input-: matrix[3][3] = {{ 91, 32, 23 },
   { 40, 51, 26 },
   { 72, 81, 93 }}
Output-: {{ 91, 0, 23},
   { 0, 51, 0},
   { 72, 0, 93}}

অ্যালগোরিদম

Start
Step 1-> define macro for matrix size as const int n = 10
Step 2-> Declare function for converting to diagonal matrix
   void diagonal(int arr[][n], int a, int m)
      Loop For int i = 0 i < a i++
         Loop For int j = 0 j < m j++
            IF i != j & i + j + 1 != a
               Set arr[i][j] = 0
            End
         End
      End
      Loop For int i = 0 i < a i++
         Loop For int j = 0 j < m j++
            Print arr[i][j]
         End
         Print \n
      End
Step 2-> In main()
   Declare matrix as int arr[][n] = { { 1, 2, 3 },
      { 4, 5, 6 },
      { 7, 8, 9 } }
   Call function as diagonal(arr, 3, 3)
Stop

উদাহরণ

#include <iostream>
using namespace std;
const int n = 10;
//print 0 at diagonals in matrix of nxn
void diagonal(int arr[][n], int a, int m) {
   for (int i = 0; i < a; i++) {
      for (int j = 0; j < m; j++) {
         if (i != j && i + j + 1 != a)
         arr[i][j] = 0;
      }
   }
   for (int i = 0; i < a; i++) {
      for (int j = 0; j < m; j++) {
         cout << arr[i][j] << " ";
      }
      cout << endl;
   }
}
int main() {
   int arr[][n] = { { 1, 2, 3 },
      { 4, 5, 6 },
      { 7, 8, 9 } };
   diagonal(arr, 3, 3);
   return 0;
}

আউটপুট

যদি আমরা উপরের কোডটি চালাই তবে এটি নিম্নলিখিত আউটপুট তৈরি করবে

0 2 0
4 0 6
0 8 0

  1. C++ এ বাইনারি ম্যাট্রিক্সকে শূন্য ম্যাট্রিক্সে রূপান্তর করতে অপারেশনের সংখ্যা গণনা করার প্রোগ্রাম

  2. C++ এ ইনভোলুটরি ম্যাট্রিক্স চেক করার প্রোগ্রাম

  3. C++ এ তির্যক ম্যাট্রিক্স এবং স্কেলার ম্যাট্রিক্স পরীক্ষা করার জন্য প্রোগ্রাম

  4. অ্যাডজাসেন্সি ম্যাট্রিক্স বাস্তবায়নের জন্য C++ প্রোগ্রাম