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

यहां, लाल में एलिमेंट्स मुख्य विकर्ण हैं जो नॉन-जीरो हैं बाकी एलिमेंट्स मुख्य विकर्ण को छोड़कर शून्य हैं जिससे यह डायगोनल मैट्रिक्स बनता है।
उदाहरण
इनपुट: m[3][3] = { {7, 0, 0}, {0, 8, 0}, {0, 0, 9}} आउटपुट: हां इनपुट: m[3][3] = { {1, 2, 3}, {0, 4, 0}, {0, 0, 5} } आउटपुट: नहींएल्गोरिदम
Start Step 1 -> साइज 4 का मैक्रो डिफाइन करें Step 2 -> मैट्रिक्स डायगोनल है या नहीं जांचने का फंक्शन डिक्लेयर करें bool ifdiagonal(int arr[size][size]) Loop int i = 0 से i < size और i++ तक Loop int j = 0 से j < size और j++ तक IF ((i != j) & (arr[i][j] != 0)) return false End End End return true step 3 -> main() में int arr[size][size] = { { 1, 0, 0, 0 }, { 0, 1, 0, 0 }, { 0, 0, 1, 0 }, { 0, 0, 0, 1 } }; डिक्लेयर और सेट करें IF (ifdiagonal(arr)) यह एक डायगोनल मैट्रिक्स है प्रिंट करें End Else यह डायगोनल मैट्रिक्स नहीं है प्रिंट करें End Stopडायगोनल मैट्रिक्स
उदाहरण
#include <bits/stdc++.h> #define size 4 using namespace std; // जांचें कि मैट्रिक्स डायगोनल मैट्रिक्स है या नहीं। 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[][] स्केलर मैट्रिक्स है यदि मुख्य विकर्ण में एलिमेंट्स समान हैं और बाकी एलिमेंट्स शून्य हैं।
नीचे दिए गए उदाहरण की तरह -

यहां, लाल में एलिमेंट्स विकर्ण एलिमेंट्स हैं जो समान हैं और बाकी एलिमेंट्स शून्य हैं जिससे यह स्केलर मैट्रिक्स बनता है।
उदाहरण
इनपुट: m[3][3] = { {2, 0, 0}, {0, 2, 0}, {0, 0, 2} } आउटपुट: हां इनपुट: m[3][3] = { {3, 0, 0}, {0, 2, 0}, {0, 0, 3} } आउटपुट: नहींएल्गोरिदम
Start Step 1 -> मैक्रो डिक्लेयर करें #define size 4 Step 2 -> मैट्रिक्स स्केलर मैट्रिक्स है या नहीं जांचने का फंक्शन डिक्लेयर करें। bool scalar(int arr[size][size]) Loop int i = 0 से i < size और i++ तक Loop int j = 0 से j < size और j++ तक IF ((i != j) && (arr[i][j] != 0)) return false End End End Loop int i = 0 से i < size – 1 और i++ तक If (arr[i][i] != arr[i + 1][i + 1]) return false End End Return true Step 3 -> main() में int arr[size][size] = { { 2, 0, 0, 0 }, { 0, 2, 0, 0 }, { 0, 0, 2, 0 }, { 0, 0, 0, 2 } } ऐरे डिक्लेयर करें IF(scalar(arr)) यह एक स्केलर मैट्रिक्स है प्रिंट करें Else यह स्केलर मैट्रिक्स नहीं है प्रिंट करें Stopउदाहरण
#include <bits/stdc++.h> #define size 4 using namespace std; // मैट्रिक्स स्केलर मैट्रिक्स है या नहीं जांचें। 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