Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> C++

सी ++ में विकर्ण मैट्रिक्स और स्केलर मैट्रिक्स की जांच करने का कार्यक्रम

मैट्रिक्स M[r][c] दिया गया है, 'r' पंक्तियों की संख्या को दर्शाता है और 'c' कॉलम की संख्या को इस तरह दर्शाता है कि r =c एक वर्ग मैट्रिक्स बनाता है। हमें ज्ञात करना है कि दिया गया वर्ग आव्यूह विकर्ण . है या नहीं और स्केलर मैट्रिक्स या नहीं, अगर यह विकर्ण . है और स्केलर मैट्रिक्स फिर परिणाम में हाँ प्रिंट करें।

विकर्ण मैट्रिक्स

एक वर्ग मैट्रिक्स m[][] विकर्ण मैट्रिक्स होगा यदि और केवल यदि मुख्य विकर्ण को छोड़कर के तत्व शून्य हैं।

जैसे नीचे दिए गए चित्र में -

सी ++ में विकर्ण मैट्रिक्स और स्केलर मैट्रिक्स की जांच करने का कार्यक्रम

यहां, लाल रंग के तत्व मुख्य विकर्ण हैं जो गैर-शून्य बाकी तत्व हैं, मुख्य विकर्ण को छोड़कर शून्य हैं जो इसे विकर्ण मैट्रिक्स बनाते हैं ।

उदाहरण

Input: m[3][3] = { {7, 0, 0},
   {0, 8, 0},
   {0, 0, 9}}
Output: yes
Input: m[3][3] = {  {1, 2, 3},
   {0, 4, 0},
   {0, 0, 5}
}
Output: no

एल्गोरिदम

Start
Step 1 -> define macro of size 4
Step 2 -> declare function to check if matrix is diagonal or not
   bool ifdiagonal(int arr[size][size])
      Loop For int i = 0 and i < size and i++
         Loop for int j = 0 and j < size and j++
            IF ((i != j) & (arr[i][j] != 0))
               return false
            End
      End
   End
   return true
step 3 -> In main()
   Declare and set int arr[size][size] = { { 1, 0, 0, 0 },
      { 0, 1, 0, 0 },
      { 0, 0, 1, 0 },
      { 0, 0, 0, 1 }
   };
   IF (ifdiagonal(arr))
      Print its a diagonal matrix
   End
   Else
      Print its not a diagonal matrix
   End
Stop

विकर्ण मैट्रिक्स

उदाहरण

#include <bits/stdc++.h>
#define size 4
using namespace std;
// check if matrix is diagonal matrix or not.
bool ifdiagonal(int arr[size][size]){
   for (int i = 0; i < size; i++)
   for (int j = 0; j < size; j++)

   if ((i != j) && (arr[i][j] != 0))
      return false;
      return true;
}
int main(){
   int arr[size][size] = { { 1, 0, 0, 0 },
      { 0, 1, 0, 0 },
      { 0, 0, 1, 0 },
      { 0, 0, 0, 1 }
   };
   if (ifdiagonal(arr))
      cout << "its a diagonal matrix" << endl;
   else
      cout << "its not a diagonal matrix" << endl;
   return 0;
}

आउटपुट

its a diagonal matrix

स्केलर मैट्रिक्स

एक वर्ग मैट्रिक्स m[][] स्केलर मैट्रिक्स है यदि मुख्य विकर्ण में तत्व समान हैं और शेष तत्व शून्य हैं।

जैसे नीचे दिए गए उदाहरण में -

सी ++ में विकर्ण मैट्रिक्स और स्केलर मैट्रिक्स की जांच करने का कार्यक्रम

यहां, लाल रंग के तत्व विकर्ण तत्व हैं जो समान हैं और शेष तत्व शून्य हैं जो इसे एक स्केलर मैट्रिक्स बनाते हैं। .

उदाहरण

Input: m[3][3] = { {2, 0, 0},
   {0, 2, 0},
   {0, 0, 2} }
Output: yes
Input: m[3][3] = { {3, 0, 0},
   {0, 2, 0},
   {0, 0, 3} }
Output: no

एल्गोरिदम

Start
Step 1 -> Declare macro as #define size 4
Step 2 -> declare function to check matrix is scalar matrix or not.
   bool scalar(int arr[size][size])
      Loop For int i = 0 and i < size and i++
         Loop For int j = 0 and j < size and j++
            IF ((i != j) && (arr[i][j] != 0))
               return false
            End
      End
   End
   Loop for int i = 0 and i < size – 1 and i++
      If (arr[i][i] != arr[i + 1][i + 1])
         return false
      End
   End
   Return true
Step 3 -> In main()
   Declare array as int arr[size][size] = { { 2, 0, 0, 0 },
      { 0, 2, 0, 0 },
      { 0, 0, 2, 0 },
      { 0, 0, 0, 2 }
   }
   IF(scalar(arr))
      Print its a scalar matrix
   Else
      Print its not a scalar matrix
Stop

उदाहरण

#include <bits/stdc++.h>
#define size 4
using namespace std;
// check matrix is scalar matrix or not.
bool scalar(int arr[size][size]){
   for (int i = 0; i < size; i++)
   for (int j = 0; j < size; j++)
      if ((i != j) && (arr[i][j] != 0))
         return false;
   for (int i = 0; i < size - 1; i++)
      if (arr[i][i] != arr[i + 1][i + 1])
         return false;
         return true;
}
int main(){
   int arr[size][size] = { { 2, 0, 0, 0 },
      { 0, 2, 0, 0 },
      { 0, 0, 2, 0 },
      { 0, 0, 0, 2 } };
   if (scalar(arr))
      cout << "its a scalar matrix" << endl;
   else
      cout << "its not a scalar matrix" << endl;
   return 0;
}

आउटपुट

its a scalar matrix

  1. C++ में मैट्रिक्स कम त्रिकोणीय है या नहीं यह जांचने के लिए प्रोग्राम

    एक वर्ग मैट्रिक्स दिया गया है M[r][c] जहां r कुछ पंक्तियों की संख्या है और c ऐसे कॉलम हैं जैसे r =c, हमें यह जांचना होगा कि M निचला त्रिकोणीय मैट्रिक्स है या नहीं। निचला त्रिकोणीय मैट्रिक्स - निचला त्रिकोणीय मैट्रिक्स एक मैट्रिक्स है जिसमें मुख्य विकर्ण (मुख्य विकर्ण सहित) के नीचे के तत्व शून्य नही

  1. सी++ में इनवॉल्यूटरी मैट्रिक्स की जांच करने का कार्यक्रम

    एक मैट्रिक्स दिया गया है M[r][c], r पंक्तियों की संख्या को दर्शाता है और c कॉलम की संख्या को दर्शाता है जैसे कि r =c एक वर्ग मैट्रिक्स बनाता है। हमें यह जांचना है कि दिया गया वर्ग मैट्रिक्स एक इन्वॉल्वरी मैट्रिक्स . है या नहीं या नहीं। इनवॉल्यूटरी मैट्रिक्स एक मैट्रिक्स को इनवॉल्वरी . कहा जाता है म

  1. C++ में idempotent मैट्रिक्स की जांच करने का कार्यक्रम

    एक मैट्रिक्स दिया गया है M[r][c], r पंक्तियों की संख्या को दर्शाता है और c कॉलम की संख्या को दर्शाता है जैसे कि r =c एक वर्ग मैट्रिक्स बनाता है। हमें यह जांचना है कि दिया गया वर्ग मैट्रिक्स एक बेकार मैट्रिक्स . है या नहीं या नहीं। बेकार मैट्रिक्स एक मैट्रिक्स M को बेवकूफ मैट्रिक्स . कहा जाता है य