Maison > développement back-end > C++ > Programme C pour échanger les éléments diagonaux d'une matrice donnée

Programme C pour échanger les éléments diagonaux d'une matrice donnée

王林
Libérer: 2023-08-25 18:02:03
avant
1535 Les gens l'ont consulté

Programme C pour échanger les éléments diagonaux dune matrice donnée

Problème

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.

Solution

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;
}
Copier après la connexion

Exemple

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>");
}
Copier après la connexion

sortie

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
Copier après la connexion

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!

Étiquettes associées:
source:tutorialspoint.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal