C++ 中檢查矩陣是否為下三角形的程式


對於一個方陣 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

更新時間: 2019-9-23

492 次瀏覽

開啟您的職業

透過完成課程獲得認證

開始
廣告