**Swap diagonals elements of a matrix**

**Swap diagonals elements of a matrix**

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.

*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 −

*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 : :**

**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 : :*

*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 .

If you found any error or any queries related to the above program or any questions or reviews , you wanna to ask from us ,you may * Contact Us* through our contact Page or you can also comment below in the comment section.We will try our best to reach up to you in short interval.

**Thanks for reading the post….**