Index « Previous Next »

Question

Find the sum of main diagonal of a square matrix of size n.

For example for the following matrix output will be like this:

square matrix

Sum of main diagonal = 14

Source Code

#include <stdio.h>

int main()
{
    int i, j, n;
    int matrix[10][10];
    int sumD;

    printf("Enter size of matrix : ");
    scanf("%d", &n);

    /* Input data in matrix */
    for (i = 0; i < n; i++)
    {
        for (j = 0; j < n; j++)
        {
            printf("Enter data in [%d][%d]: ", i, j);
            scanf("%d", &matrix[i][j]);
        }
    }

    printf("\n");

    /* Display the matrix */
    for (i = 0; i < n; i++)
    {
        for (j = 0; j < n; j++)
        {
            printf("%d\t", matrix[i][j]);
        }
        printf("\n");
    }

    /* Find the diagonal sum of matrix */
    sumD = 0;
    for (i = 0; i < n; i++)
    {
        sumD += matrix[i][i];
    }

    printf("\nSum of main diagonal = %d", sumD);

    return 0;
}

Output

Enter size of matrix : 3
Enter data in [0][0]: 11
Enter data in [0][1]: 10
Enter data in [0][2]: 20
Enter data in [1][0]: 30
Enter data in [1][1]: 10
Enter data in [1][2]: 15
Enter data in [2][0]: 25
Enter data in [2][1]: 30
Enter data in [2][2]: 35

11     10     20
30     10     15
25     30     35

Sum of main diagonal = 56