Introduction
Dans ce laboratoire, nous allons apprendre à vérifier si une matrice carrée est symétrique ou non en utilisant le langage de programmation C. Une matrice carrée est dite symétrique si elle est égale à sa transposée. Nous allons trouver la transposée de la matrice et la comparer avec la matrice d'origine pour vérifier sa symétrie.
Note : Vous devez créer le fichier
~/project/main.cvous-même pour pratiquer la programmation et apprendre à le compiler et à l'exécuter en utilisant gcc.
cd ~/project
## créer main.c
touch main.c
## compiler main.c
gcc main.c -o main
## exécuter main
./main
Déclarer les variables et saisir la matrice
Tout d'abord, nous devons déclarer les variables et saisir la matrice à partir de l'utilisateur. Nous utiliserons des boucles imbriquées pour saisir la matrice. Pour saisir la matrice à partir de l'utilisateur, nous demandons d'abord à l'utilisateur la dimension de la matrice et la stockons dans 'n'. Ensuite, nous saisissons chaque élément de la matrice en utilisant une boucle.
#include <stdio.h>
int main() {
int c, d, a[10][10], b[10][10], n;
printf("\nEntrez la dimension de la matrice : \n\n");
scanf("%d", &n);
printf("\nEntrez les %d éléments de la matrice : \n\n", n * n);
for (c = 0; c < n; c++)
for (d = 0; d < n; d++)
scanf("%d", &a[c][d]);
return 0;
}
Trouver la transposée de la matrice
La transposée d'une matrice est obtenue en échangeant les indices des lignes et des colonnes. Nous utilisons des boucles imbriquées pour trouver la transposée de la matrice. Pour trouver la transposée de la matrice, nous utilisons deux boucles. La première boucle itère sur les lignes et la seconde boucle itère sur les colonnes.
// trouver la transposée d'une matrice et la stocker dans b[][]
for (c = 0; c < n; c++)
for (d = 0; d < n; d++)
b[d][c] = a[c][d];
Vérifier la symétrie de la matrice
Dans cette étape, nous allons vérifier si la matrice d'origine est la même que sa transposée ou non. Nous utilisons des boucles imbriquées pour vérifier cela. Pour vérifier la symétrie de la matrice, nous utilisons deux boucles. La première boucle itère sur les lignes et la seconde boucle itère sur les colonnes.
// vérifier si la matrice d'origine est la même que sa transposée
for (c = 0; c < n; c++)
for (d = 0; d < n; d++)
if (a[c][d]!= b[c][d]) {
printf("\n\nLa matrice n'est pas symétrique\n\n");
exit(0); // une méthode définie par le système pour terminer le programme
}
Afficher les résultats
Après avoir vérifié que la matrice est symétrique, le programme affiche un message confirmant cela. Le programme se terminera si la matrice n'est pas symétrique.
// Si le programme n'est pas encore terminé, cela signifie que la matrice est symétrique
printf("\n\nLa matrice est symétrique\n\n");
printf("\n\n\t\t\tCoder c'est amusant!\n\n\n");
Résumé
Dans ce laboratoire, nous avons appris à vérifier si une matrice carrée est symétrique ou non en utilisant le langage de programmation C. Nous avons utilisé des boucles imbriquées pour saisir et trouver la transposée de la matrice, puis vérifié si la matrice d'origine est la même que sa transposée ou non. Si les deux matrices étaient identiques, le programme affichait un message indiquant que la matrice est symétrique.



