Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

โปรแกรมตรวจสอบว่าเมทริกซ์เป็น Upper Triangular Matrix ใน C++


ให้เมทริกซ์สี่เหลี่ยมจัตุรัส M[r][c] ที่ r = c เราต้องตรวจสอบว่าเป็น Upper Triangular Matrix หรือไม่

Upper Triangular Matrix

Upper Triangular Matrix คือเมทริกซ์ที่องค์ประกอบเหนือแนวทแยงหลัก (รวมแนวทแยง) ไม่เป็นศูนย์ และด้านล่างเป็นศูนย์ทั้งหมด

ตัวอย่าง −

โปรแกรมตรวจสอบว่าเมทริกซ์เป็น Upper Triangular Matrix ใน C++

ในภาพ องค์ประกอบที่ไฮไลท์สีแดงคือส่วนล่างของแนวทแยงซึ่งเป็นศูนย์ ส่วนที่เหลือไม่เป็นศูนย์

ตัวอย่าง

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