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
WBOYavant
2023-08-28 14:45:04678parcourir

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|

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|

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

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;
}

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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer