Maison > développement back-end > C++ > Programme C pour vérifier si la matrice est antisymétrique ?

Programme C pour vérifier si la matrice est antisymétrique ?

WBOY
Libérer: 2023-08-28 14:45:04
avant
685 Les gens l'ont consulté

Programme C pour vérifier si la matrice est antisymétrique ?

Si les éléments de la matrice carrée A satisfont aij=−aji pour tous i et j, alors la matrice carrée A est appelée matrice antisymétrique. En d’autres termes, si la transposée de la matrice A est égale à la valeur négative de la matrice A, c’est-à-dire (AT=−A), alors la matrice A est appelée matrice antisymétrique.

Notez que tous les éléments diagonaux principaux d'une matrice antisymétrique sont nuls.

Prenons un exemple de matrice

A= |0 -5 4|
   |5 0 -1|
   |-4 1 0|
Copier après la connexion

Il s'agit d'une matrice asymétrique car pour tout i et j, aij=−aji. Par exemple, a12 = -5, a21 = 5, ce qui signifie a12 = −a21. De même, cette condition est valable pour toutes les autres valeurs de i et j.

Nous pouvons également vérifier que la transposée de la matrice A est égale au négatif de la matrice A, c'est-à-dire AT=−A.

A<sup>T</sup>= |0 5 -4|
    |-5 0 1|
    |4 -1 0|
and
A= |0 -5 4|
   |5 0 -1|
   |-4 1 0|
Copier après la connexion

On voit clairement que AT=−A, ce qui fait de A une matrice antisymétrique.

Input:
Enter the number of rows and columns: 2 2
Enter the matrix elements: 10 20 20 10
Output:
The matrix is symmetric.
10 20
20 10
Copier après la connexion

Explication

Une matrice est une matrice symétrique si elle est égale à sa transposée.

Sinon, si sa transposée est égale à sa négative, alors la matrice est antisymétrique. Sinon, ce n’est ni symétrique ni antisymétrique. Les résultats seront imprimés en conséquence.

Le processus de vérification de la symétrie de la matrice est le suivant :

  • Nécessite que l'utilisateur entre le nombre de lignes et de colonnes de la matrice.

  • Nécessite les éléments de la matrice d'entrée et les stocke dans 'A'. Initialisez les variables 'x' et 'y' à 0.

  • Si la matrice n'est pas égale à sa transposée, attribuez la valeur 1 à la variable temporaire 'x'.

  • Sinon, si le négatif de la matrice est égal à sa transposée, affectez la variable temporaire 'y' à 1.

  • Si x est égal à 0, alors la matrice est symétrique. Sinon, si y vaut 1, la matrice est antisymétrique.

  • Si aucune des conditions ci-dessus n'est remplie, la matrice n'est ni symétrique ni antisymétrique.

  • Imprimez ensuite le résultat.

Exemple

#include<iostream>
using namespace std;
int main () {
   int A[10][10], i, j, m, n, x = 0, y = 0;
   cout << "Enter the number of rows and columns : ";
   cin >> m >> n;
   cout << "Enter the matrix elements : ";
   for (i = 0; i < m; i++)
      for (j = 0; j < n; j++)
   cin >> A[i][j];
   for (i = 0; i < m; i++) {
      for( j = 0; j < n; j++) {
         if (A[i][j] != A[j][i])
            x = 1;
         else if (A[i][j] == -A[j][i])
            y = 1;
      }
   }
   if (x == 0)
      cout << "The matrix is symmetric.</p><p> ";
   else if (y == 1)
      cout << "The matrix is skew symmetric.</p><p> ";
   else
      cout << "It is neither symmetric nor skew-symmetric.</p><p> ";
   for (i = 0; i < m; i++) {
      for (j = 0; j < n; j++)
         cout << A[i][j] << " ";
      cout << "</p><p> ";
   }
   return 0;
}
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