एक वर्ग मैट्रिक्स दिया गया है M[r][c] जहां 'r' कुछ पंक्तियों की संख्या है और 'c' ऐसे कॉलम हैं जैसे r =c, हमें यह जांचना होगा कि 'M' ऊपरी त्रिकोणीय मैट्रिक्स है या नहीं।
ऊपरी त्रिकोणीय मैट्रिक्स
ऊपरी त्रिकोणीय मैट्रिक्स एक मैट्रिक्स है जिसमें मुख्य विकर्ण (मुख्य विकर्ण सहित) के ऊपर के तत्व शून्य नहीं होते हैं और नीचे के तत्व केवल शून्य होते हैं।
जैसे नीचे दिए गए उदाहरण में -
ऊपर की आकृति में लाल हाइलाइट किए गए तत्व मुख्य विकर्ण से निचले तत्व हैं जो शून्य हैं और शेष तत्व गैर-शून्य हैं।
उदाहरण
Input: m[3][3] = { {1, 2, 3}, {0, 5, 6}, {0, 0, 9}} Output: yes Input: m[3][3] == { {3, 0, 1}, {6, 2, 0}, {7, 5, 3} } Output: no
एल्गोरिदम
Start Step 1 -> define macro as #define size 4 Step 2 -> Declare function to check matrix is lower triangular matrix bool check(int arr[size][size]) Loop For int i = 1 and i < size and i++ Loop For int j = 0 and j < i and j++ IF (arr[i][j] != 0) return false End End End Return true Step 3 -> In main() Declare int arr[size][size] = { { 1, 1, 3, 2 }, { 0, 3, 3, 2 }, { 0, 0, 2, 1 }, { 0, 0, 0, 1 } } IF (check(arr)) Print its a lower triangular matrix End Else Print its not a lower triangular matrix End Stop
उदाहरण
#include <bits/stdc++.h> #define size 4 using namespace std; // check matrix is lower triangular matrix bool check(int arr[size][size]){ for (int i = 1; i < size; i++) for (int j = 0; j < i; j++) if (arr[i][j] != 0) return false; return true; } int main(){ int arr[size][size] = { { 1, 1, 3, 2 }, { 0, 3, 3, 2 }, { 0, 0, 2, 1 }, { 0, 0, 0, 1 } }; if (check(arr)) cout << "its a lower triangular matrix"; else cout << "its not a lower triangular matrix"; return 0; }
आउटपुट
its a lower triangular matrix