Write a C program to find the trace of a matrix using for loop. The trace of a matrix is the sum of its diagonal. In this C example, if(i == j) finds the matrix diagonal elements and adds them to trace.
#include <stdio.h>
int main()
{
int i, j, rows, columns, trace = 0;
printf("Enter Matrix Rows and Columns = ");
scanf("%d %d", &rows, &columns);
int Tra_arr[rows][columns];
printf("Please Enter the Matrix Items = \n");
for (i = 0; i < rows; i++)
{
for (j = 0; j < columns; j++)
{
scanf("%d", &Tra_arr[i][j]);
}
}
for (i = 0; i < rows; i++)
{
for (j = 0; j < columns; j++)
{
if (i == j)
{
trace = trace + Tra_arr[i][j];
}
}
}
printf("The Trace Of the Matrix = %d\n", trace);
}

C program to find the trace of a matrix using a while loop.
#include <stdio.h>
int main()
{
int i, j, rows, columns, trace = 0;
printf("Enter Matrix Rows and Columns = ");
scanf("%d %d", &rows, &columns);
int Tra_arr[rows][columns];
printf("Please Enter the Matrix Items = \n");
i = 0;
while(i < rows)
{
j = 0;
while(j < columns)
{
scanf("%d", &Tra_arr[i][j]);
j++;
}
i++;
}
i = 0;
while(i < rows)
{
j = 0;
while(j < columns)
{
if(i == j)
{
trace = trace + Tra_arr[i][j];
}
j++;
}
i++;
}
printf("The Trace Of the Matrix = %d\n", trace);
}
Enter Matrix Rows and Columns = 3 3
Please Enter the Matrix Items =
10 30 50
70 90 120
150 170 290
The Trace Of the Matrix = 390
This C example calculates and prints the trace of a given matrix using the do while loop.
#include <stdio.h>
int main()
{
int i, j, rows, columns, trace = 0;
printf("Enter Matrix Rows and Columns = ");
scanf("%d %d", &rows, &columns);
int Tra_arr[rows][columns];
printf("Please Enter the Matrix Items = \n");
i = 0;
do
{
j = 0;
do
{
scanf("%d", &Tra_arr[i][j]);
if (i == j)
{
trace = trace + Tra_arr[i][j];
}
} while (++j < columns);
} while (++i < rows);
printf("The Trace Of the Matrix = %d\n", trace);
}
Enter Matrix Rows and Columns = 3 3
Please Enter the Matrix Items =
10 20 30
40 50 60
70 80 90
The Trace Of the Matrix = 150