I'm doing a college activity in which it asks to check if the array entered by the user is symmetric or not.
Here's my code:
#define TAMANHO 4
#include <stdio.h>
#include <stdlib.h>
#include <locale.h>
void receberMatriz(int matriz[TAMANHO][TAMANHO]);
void acimaDiagonalPrincipal(int matriz[TAMANHO][TAMANHO], int acimaD[6]);
void abaixoDiagonalPrincipal(int matriz[TAMANHO][TAMANHO], int abaixoD[6]);
void resultadoDiagonaisPrincipais(int matriz[TAMANHO][TAMANHO], int acimaD[6], int abaixoD[6]);
int main(void)
{
setlocale(LC_ALL, "");
int matriz[TAMANHO][TAMANHO];
int acimaD[6];
int abaixoD[6];
receberMatriz(matriz);
acimaDiagonalPrincipal(matriz, acimaD);
abaixoDiagonalPrincipal(matriz, abaixoD);
resultadoDiagonaisPrincipais(matriz, acimaD, abaixoD);
return 0;
}
void receberMatriz(int matriz[TAMANHO][TAMANHO])
{
int i, j;
for(i = 0; i < TAMANHO; i++)
{
for(j = 0; j < TAMANHO; j++)
{
printf("Insira valor da posição [%i][%i]: ", i, j);
scanf("%i", &matriz[i][j]);
}
}
}
void acimaDiagonalPrincipal(int matriz[TAMANHO][TAMANHO], int acimaD[6])
{
int i, j;
for(i = 0; i < TAMANHO; i++)
{
for(j = 0; j < TAMANHO; j++)
{
if(i < j)
{
acimaD[j] = matriz[i][j];
}
}
}
}
void abaixoDiagonalPrincipal(int matriz[TAMANHO][TAMANHO], int abaixoD[6])
{
int i, j;
for(i = 0; i < TAMANHO; i++)
{
for(j = 0; j < TAMANHO; j++)
{
if(j > i)
{
abaixoD[j] = matriz[i][j];
}
}
}
}
void resultadoDiagonaisPrincipais(int matriz[TAMANHO][TAMANHO], int abaixoD[TAMANHO], int acimaD[TAMANHO])
{
int i, j, y;
for(i = 0; i < TAMANHO; i++)
{
for(j = 0; j < TAMANHO; j++)
{
printf("[%i]", &matriz[i][j]);
}
printf("\n");
}
printf("\n");
for(i = 0; i < 6; i++)
{
for(j = 0; j < 6; j++)
{
if(acimaD[i] != abaixoD[j])
{
printf("A matriz não é simétrica.");
}
else
{
printf("A matriz é simétrica.")
}
}
}
}
I used% w / o% to check the values above the diagonal with those below the diagonal. But it always ends up being printed%% of% times. How can I do this verification? I already have the values in vectors as you can see however at the time of defining whether it is symmetric or not I bugo. I think it's the simplest part.