กำหนดเมทริกซ์สี่เหลี่ยมจัตุรัส M[r][c] โดยที่ 'r' คือจำนวนแถวบางส่วน และ 'c' เป็นคอลัมน์ที่ r =c เราต้องตรวจสอบว่า 'M' เป็นเมทริกซ์สามเหลี่ยมล่างหรือไม่
เมทริกซ์สามเหลี่ยมล่าง −
เมทริกซ์สามเหลี่ยมล่างเป็นเมทริกซ์ที่องค์ประกอบด้านล่างเส้นทแยงมุมหลัก (รวมถึงเส้นทแยงมุมหลัก) ไม่เป็นศูนย์และองค์ประกอบด้านบนเป็นศูนย์เท่านั้น
เช่นเดียวกับในตัวอย่างด้านล่าง −
ในรูปด้านบน องค์ประกอบที่เน้นสีแดงเป็นองค์ประกอบด้านบนจากเส้นทแยงมุมหลักซึ่งเป็นศูนย์และองค์ประกอบที่เหลือไม่ใช่ศูนย์
ตัวอย่าง
Input: m[3][3] = { {1, 0, 0}, {2, 3, 0}, {4, 5, 6}} 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 = 0 and i < size and i++ Loop For int j = i + 1 and j < size and j++ If (arr[i][j] != 0) return false End End End return true step 3 -> In main() Declare array int arr[size][size] = { { 1, 0, 0, 0 }, { 2, 3, 0, 0 }, { 4, 5, 6, 0 }, { 7, 8, 9, 10 } } If (check(arr)) Print its a lower triangular matrix Else Print its not a lower triangular matrix 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 = 0; i < size; i++) for (int j = i + 1; j < size; j++) if (arr[i][j] != 0) return false; return true; } int main(){ int arr[size][size] = { { 1, 0, 0, 0 }, { 2, 3, 0, 0 }, { 4, 5, 6, 0 }, { 7, 8, 9, 10 } }; if (check(arr)) cout << "its a lower triangular matrix"; else cout << "its not a lower triangular matrix"; return 0; }
ผลลัพธ์
its a lower triangular matrix