Introdução
Neste laboratório, aprenderemos como verificar se uma matriz quadrada é simétrica ou não usando a linguagem de programação C. Diz-se que uma matriz quadrada é simétrica se for igual à sua transposta. Encontraremos a transposta da matriz e a compararemos com a matriz original para verificar sua simetria.
Nota: Você precisa criar o arquivo
~/project/main.cpor conta própria para praticar a codificação e aprender como compilar e executá-lo usando o gcc.
cd ~/project
## create main.c
touch main.c
## compile main.c
gcc main.c -o main
## run main
./main
Declarar as Variáveis e Inserir a Matriz
Primeiramente, precisamos declarar as variáveis e inserir a matriz do usuário. Usaremos loops aninhados para inserir a matriz. Para inserir a matriz do usuário, primeiro pedimos ao usuário a dimensão da matriz e a armazenamos em 'n'. Em seguida, inserimos cada elemento da matriz usando um loop.
#include <stdio.h>
int main() {
int c, d, a[10][10], b[10][10], n;
printf("\nEnter the dimension of the matrix: \n\n");
scanf("%d", &n);
printf("\nEnter the %d elements of the matrix: \n\n", n * n);
for (c = 0; c < n; c++)
for (d = 0; d < n; d++)
scanf("%d", &a[c][d]);
return 0;
}
Encontrar a Transposta da Matriz
A transposta da matriz é obtida trocando os índices de linhas e colunas. Usamos loops aninhados para encontrar a transposta da matriz. Para encontrar a transposta da matriz, usamos dois loops. O primeiro loop itera sobre as linhas, e o segundo loop itera sobre as colunas.
// finding transpose of a matrix and storing it in b[][]
for (c = 0; c < n; c++)
for (d = 0; d < n; d++)
b[d][c] = a[c][d];
Verificar a Simetria da Matriz
Nesta etapa, verificaremos se a matriz original é a mesma que sua transposta ou não. Usamos loops aninhados para verificar isso. Para verificar a simetria da matriz, usamos dois loops. O primeiro loop itera sobre as linhas, e o segundo loop itera sobre as colunas.
// checking if the original matrix is the same as its transpose
for (c = 0; c < n; c++)
for (d = 0; d < n; d++)
if (a[c][d] != b[c][d]) {
printf("\n\nMatrix is not Symmetric\n\n");
exit(0); // a system defined method to terminate the program
}
Imprimir Resultados
Após verificar que a matriz é simétrica, o programa exibe uma mensagem confirmando isso. O programa será encerrado se a matriz não for simétrica.
// If the program is not terminated yet, it means the matrix is symmetric
printf("\n\nMatrix is Symmetric\n\n");
printf("\n\n\t\t\tCoding is Fun !\n\n\n");
Resumo
Neste laboratório, aprendemos como verificar se uma matriz quadrada é simétrica ou não usando a linguagem de programação C. Usamos loops aninhados para inserir e encontrar a transposta da matriz, e então verificamos se a matriz original é a mesma que sua transposta ou não. Se as duas matrizes fossem iguais, o programa exibia uma mensagem afirmando que a matriz é simétrica.



