Q:

Write a C program to Swap diagonals elements of a matrix

0

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.

All Answers

need an explanation for this answer? contact us directly to get an explanation for this answer

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

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

need an explanation for this answer? contact us directly to get an explanation for this answer

total answers (1)

C Matrix Solved Programs – C Programming

This question belongs to these collections

Similar questions


need a help?


find thousands of online teachers now
C Program to check whether Matrix is upper triangu... >>
<< Write a C Program to find row sum and column sum o...