Write a C program to Swap diagonals elements of a matrix. Here’s simple Program to interchange elements of primary and secondary diagonals of matrix in C Programming Language.
Matrix representation is a method used by a computer language to store matrices of more than one dimension in memory. C uses “Row Major”, which stores all the elements for a given row contiguously in memory.
Two-dimensional Arrays : :
The simplest form of multidimensional array is the two-dimensional array. A two-dimensional array is, in essence, a list of one-dimensional arrays. An m × n (read as m by n) order matrix is a set of numbers arranged in m rows and n columns.
To declare a two-dimensional integer array of size [x][y], you would write something as follows −
type arrayName [ x ][ y ];
Where type can be any valid C data type and arrayName will be a valid C identifier.
Below is the source code for C program to Swap diagonals elements of a matrix which is successfully compiled and run on Windows System to produce desired output as shown below :
SOURCE CODE : :
/* C program to Swap diagonals elements of a matrix */
#include <stdio.h>
int main()
{
int A[10][10],i,j,m,n;
int row, col, square, temp;
printf("Enter no. of rows :: ");
scanf("%d", &m);
printf("\nEnter no. of cols :: ");
scanf("%d",&n);
printf("\nEnter values to the matrix :: \n");
for (i = 0; i < m; i++)
{
for (j = 0; j < n; j++)
{
printf("\nEnter a[%d][%d] value :: ",i,j);
scanf("%d", &A[i][j]);
}
}
printf("\nThe given matrix is :: \n\n");
for (i = 0; i < m; ++i)
{
for (j = 0; j < n; ++j)
{
printf("\t%d", A[i][j]);
}
printf("\n\n");
}
square = (m < n) ? m : n;
/*
* Interchanges diagonal of the matrix
*/
for(row=0; row < square; row++)
{
col = row;
temp = A[row][col];
A[row][col] = A[row][(square - col)-1];
A[row][(square - col)-1] = temp;
}
/*
* Prints the interchanged diagonals matrix
*/
printf("\nMatrix after diagonals interchanged: \n");
for (i = 0; i < m; ++i)
{
for (j = 0; j < n; ++j)
{
printf("\t%d", A[i][j]);
}
printf("\n\n");
}
return 0;
}
Output : :
/* C program to Swap diagonals elements of a matrix */
Enter no. of rows :: 3
Enter no. of cols :: 3
Enter values to the matrix ::
Enter a[0][0] value :: 1
Enter a[0][1] value :: 2
Enter a[0][2] value :: 3
Enter a[1][0] value :: 4
Enter a[1][1] value :: 5
Enter a[1][2] value :: 6
Enter a[2][0] value :: 7
Enter a[2][1] value :: 8
Enter a[2][2] value :: 9
The given matrix is ::
1 2 3
4 5 6
7 8 9
Matrix after diagonals interchanged:
3 2 1
4 5 6
9 8 7
Process returned 0
Above is the source code for C program to Swap diagonals elements of a matrix which is successfully compiled and run on Windows System.The Output of the program is shown above .
What is Matrix ?
Matrix representation is a method used by a computer language to store matrices of more than one dimension in memory. C uses “Row Major”, which stores all the elements for a given row contiguously in memory.
Two-dimensional Arrays : :
The simplest form of multidimensional array is the two-dimensional array. A two-dimensional array is, in essence, a list of one-dimensional arrays. An m × n (read as m by n) order matrix is a set of numbers arranged in m rows and n columns.
To declare a two-dimensional integer array of size [x][y], you would write something as follows −
Where type can be any valid C data type and arrayName will be a valid C identifier.
Below is the source code for C program to Swap diagonals elements of a matrix which is successfully compiled and run on Windows System to produce desired output as shown below :
SOURCE CODE : :
Output : :
Above is the source code for C program to Swap diagonals elements of a matrix which is successfully compiled and run on Windows System.The Output of the program is shown above .
need an explanation for this answer? contact us directly to get an explanation for this answer