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

पता लगाएं कि दिया गया मैट्रिक्स Toeplitz है या नहीं C++ में

इस समस्या में, हमें n*n आकार का एक 2D वर्ग मैट्रिक्स मैट [] [] दिया जाता है। हमारा काम यह पता लगाना है कि दिया गया मैट्रिक्स Toeplitz है या नहीं।

Toeplitz मैट्रिक्स विकर्ण मैट्रिक्स के रूप में भी जाना जाता है, एक मैट्रिक्स है जिसमें विकर्ण के तत्व ऊपरी-बाएं कोने से नीचे-दाएं कोने तक शुरू होते हैं।

समस्या को समझने के लिए एक उदाहरण लेते हैं,

इनपुट:

चटाई [] [] ={{3, 5, 1},
{4, 3, 2},
{1, 2, 3}}

आउटपुट: हाँ

स्पष्टीकरण:

विकर्ण :(0, 0), (1, 1), (2, 2) का मान समान है 3.

समाधान दृष्टिकोण:

समस्या को हल करने का एक सरल तरीका एक विकर्ण सूचकांक में सभी तत्वों की जाँच करना है। ये विकर्ण मान इंडेक्स होंगे जहां i और j दोनों का मान समान है।

इसलिए, हमें सभी i -> 0 से n और j -> 0 से n तक की जांच करने की आवश्यकता है। अगर i =j, और mat[i][j] सभी के लिए समान है।

हमारे समाधान की कार्यप्रणाली को दर्शाने वाला कार्यक्रम,

उदाहरण

#include <iostream>
using namespace std;
#define N 4

bool isToeplizMatrix(int mat[N][N])
{
   int diagVal = mat[0][0];
for(int i = 0; i < N ; i++)
   {
      if(mat[i][i] != diagVal){
          return false;
      }
   }
   return true;
}

int main(){

   int mat[N][N] = { { 6, 7, 8, 9 },
                { 4, 6, 7, 8 },
                { 1, 4, 6, 7 },
                { 0, 1, 4, 6 }};

   if (isToeplizMatrix(mat))
      cout<<"Matrix is a Toepliz matrix.";
   else
      cout<<"Matrix is not a Toepliz matrix.";
     
   return 0;
}

आउटपुट

Matrix is a Toepliz matrix.

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

    यहां हम देखेंगे कि, एक मैट्रिक्स मैजिक स्क्वायर है या नहीं, एक मैजिक स्क्वायर एक स्क्वायर मैट्रिक्स है, जहां प्रत्येक पंक्ति, प्रत्येक कॉलम और प्रत्येक विकर्ण का योग समान होता है। मान लीजिए कि एक मैट्रिक्स नीचे जैसा है - 6 1 8 7 5 3 2 9 4 यह एक जादुई वर्ग है, यदि हम देखें, तो प्रत्येक पंक्ति,

  1. जांचें कि दिया गया मैट्रिक्स सी ++ में स्पैस है या नहीं

    यहां हम देखेंगे कि कैसे जांचा जाए कि मैट्रिक्स विरल है या नहीं। एक विरल मैट्रिक्स एक मैट्रिक्स है जहां अधिकांश तत्व 0 हैं। एक विरल मैट्रिक्स की परिभाषा है, यदि तत्वों का 2/3 भाग 0 है, तो मैट्रिक्स को एक विरल मैट्रिक्स के रूप में दर्शाया जाता है। यहाँ एक विरल मैट्रिक्स का उदाहरण दिया गया है। इसे ज

  1. यह जाँचने के लिए प्रोग्राम कि दिया गया मैट्रिक्स Toeplitz मैट्रिक्स है या नहीं, Python में है

    मान लीजिए कि हमारे पास एक मैट्रिक्स एम है, हमें यह जांचना है कि यह टोप्लिट्ज मैट्रिक्स है या नहीं। जैसा कि हम जानते हैं कि एक मैट्रिक्स को Toeplitz कहा जाता है, जब बाएं से दाएं उतरने वाले प्रत्येक विकर्ण का मान समान होता है। तो, अगर इनपुट पसंद है 7 2 6 3 7 2 5 3 7 तो आउटपुट ट्रू होगा। इसे हल