Nous devons écrire du code pour échanger les éléments diagonaux principaux avec les éléments sous-diagonaux. La taille de la matrice est donnée à l'exécution.
Si les tailles des valeurs m et n de la matrice ne sont pas égales, imprimez que la matrice donnée n'est pas carrée.
Seuls les éléments diagonaux principaux de la matrice carrée peuvent être interchangés, et ils peuvent également être interchangés avec les éléments sous-diagonaux.
La solution pour écrire un programme C pour échanger les éléments diagonaux dans une matrice donnée est la suivante-
La logique d'échange des éléments diagonauxest expliquée ci-dessous-
for (i=0;i<m;++i){ a = ma[i][i]; ma[i][i] = ma[i][m-i-1]; ma[i][m-i-1] = a; }
Ci-dessous est Programme C pour échanger des éléments diagonaux dans une matrice donnée -
Démonstration en direct
#include<stdio.h> main (){ int i,j,m,n,a; static int ma[10][10]; printf ("Enter the order of the matrix m and n</p><p>"); scanf ("%dx%d",&m,&n); if (m==n){ printf ("Enter the co-efficients of the matrix</p><p>"); for (i=0;i<m;++i){ for (j=0;j<n;++j){ scanf ("%d",&ma[i][j]); } } printf ("The given matrix is </p><p>"); for (i=0;i<m;++i){ for (j=0;j<n;++j){ printf (" %d",ma[i][j]); } printf ("</p><p>"); } for (i=0;i<m;++i){ a = ma[i][i]; ma[i][i] = ma[i][m-i-1]; ma[i][m-i-1] = a; } printf ("Matrix after changing the </p><p>"); printf ("Main & secondary diagonal</p><p>"); for (i=0;i<m;++i){ for (j=0;j<n;++j){ printf (" %d",ma[i][j]); } printf ("</p><p>"); } } else printf ("The given order is not square matrix</p><p>"); }
Lorsque le programme ci-dessus est exécuté, il produit les résultats suivants -
Run 1: Enter the order of the matrix m and n 3x3 Enter the co-efficient of the matrix 1 2 3 4 5 6 7 8 9 The given matrix is 1 2 3 4 5 6 7 8 9 Matrix after changing the Main & secondary diagonal 3 2 1 4 5 6 9 8 7 Run 2: Enter the order of the matrix m and n 4x3 The given order is not square matrix
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!