C program to find lower triangular matrix

Write a C program to read elements in a matrix and check whether the matrix is a lower triangular matrix or not. C program to find whether the matrix is lower triangular or not. Logic to find lower triangular matrix in C programming.

Required knowledge

Basic C programming, C for loop, ArrayS

Lower triangular matrix

Lower triangular matrix is a special square matrix whose all elements above the main diagonal is zero.

Lower triangular matrix

Logic to find lower triangular matrix

To find whether a matrix is lower triangular or not we need to check if all elements above main diagonal of the matrix is zero or not.

For any matrix A if elements Aij = 0 (Where j ≥ i). Means, if(array[row][col] == 0) and j > i then it is lower triangular matrix.

Program to find lower triangular matrix



 
/**
 * C program to find lower triangular matrix
 */

#include <stdio.h>
#define MAX_ROWS 3
#define MAX_COLS 3

int main()
{
    int array[MAX_ROWS][MAX_COLS];
    int row, col, isLower;

    /* Input elements in matrix from user */
    printf("Enter elements in matrix of size %dx%d: \n", MAX_ROWS, MAX_COLS);
    for(row=0; row<MAX_ROWS; row++)
    {
        for(col=0; col<MAX_COLS; col++)
        {
            scanf("%d", &array[row][col]);
        }
    }

    /* Check whether the matrix is lower triangular matrix */
    isLower = 1;
    for(row=0; row<MAX_ROWS; row++)
    {
        for(col=0; col<MAX_COLS; col++)
        {
            /*
             * If elements above main diagonal(col>row)
             * is not equal to zero(array[row][col]!=0)
             */
            if(col>row && array[row][col]!=0)
            {
                isLower = 0;
            }
        }
    }

    /*
     * If matrix is lower triangular matrix
     */
    if(isLower == 1)
    {
        printf("\nMatrix is Lower triangular matrix: \n");

        /* Print elements of lower triangular matrix */
        for(row=0; row<MAX_ROWS; row++)
        {
            for(col=0; col<MAX_COLS; col++)
            {
                printf("%d ", array[row][col]);
            }

            printf("\n");
        }
    }
    else
    {
        printf("\nMatrix is not a Lower triangular matrix");
    }

    return 0;
}



Output:

Enter elements in matrix of size 3x3:
10   0  0
40  50  0
70  80 90
Matrix is Lower triangular matrix:
10  0  0
40 50  0
70 80 90
Process returned 0 (0x0) execution time : 42.360 s
Enter elements in matrix of size 3x3:
10 20 0
40 50 0
70 80 90
Matrix is not a Lower triangular matrix
Process returned 0 (0x0) execution time : 24.424 s

Program to find lower triangular matrix




/**
 * C program to find lower triangular matrix
 */

#include <stdio.h>

int main()
{
    int array[10][10];
    int row, col, isLower,m,n;
    printf("Enter number of rows:");
    scanf("%d",&m);
    printf("Enter number of columns:");
    scanf("%d",&n);

    /* Input elements in matrix from user */
    printf("Enter elements in matrix of size %dx%d: \n", m, n);
    for(row=0; row<m; row++)
    {
        for(col=0; col<n; col++)
        {
            scanf("%d", &array[row][col]);
        }
    }

    /* Check whether the matrix is lower triangular matrix */
    isLower = 1;
    for(row=0; row<m; row++)
    {
        for(col=0; col<n; col++)
        {
            /*
             * If elements above main diagonal(col>row)
             * is not equal to zero(array[row][col]!=0)
             */
            if(col>row && array[row][col]!=0)
            {
                isLower = 0;
            }
        }
    }

    /*
     * If matrix is lower triangular matrix
     */
    if(isLower == 1)
    {
        printf("\nMatrix is Lower triangular matrix: \n");

        /* Print elements of lower triangular matrix */
        for(row=0; row<m; row++)
        {
            for(col=0; col<n; col++)
            {
                printf("%d ", array[row][col]);
            }

            printf("\n");
        }
    }
    else
    {
        printf("\nMatrix is not a Lower triangular matrix");
    }

    return 0;
}



Output:

Enter number of rows:3
Enter number of columns:3
Enter elements in matrix of size 3x3:
1 0 0
4 5 0
7 8 9
Matrix is Lower triangular matrix:
1 0 0
4 5 0
7 8 9
Process returned 0 (0x0) execution time : 26.759 s
Enter number of rows:3
Enter number of columns:3
Enter elements in matrix of size 3x3:
1 2 0
4 5 0
7 8 9
Matrix is not a Lower triangular matrix
Process returned 0 (0x0) execution time : 19.952 s



Instagram