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

โปรแกรมตรวจสอบว่าเมทริกซ์เป็นรูปสามเหลี่ยมบนในภาษา C++ . หรือไม่


กำหนดเมทริกซ์สี่เหลี่ยมจัตุรัส M[r][c] โดยที่ 'r' คือจำนวนแถวบางส่วนและ 'c' เป็นคอลัมน์ที่ r =c เราต้องตรวจสอบว่า 'M' เป็นเมทริกซ์สามเหลี่ยมบนหรือไม่

เมทริกซ์สามเหลี่ยมบน

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

เช่นเดียวกับในตัวอย่างด้านล่าง −

โปรแกรมตรวจสอบว่าเมทริกซ์เป็นรูปสามเหลี่ยมบนในภาษา 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