16/11/2022 ; 5:28 PM

This commit is contained in:
2022-11-16 17:57:50 -04:00
parent 033cc60b7c
commit fae447dcde

View File

@@ -0,0 +1,60 @@
#include <stdio.h>
/* Simétrico.
El programa, al recibir como dato un arreglo bidimensional cuadrado, determina
si el mismo es simétrico. */
#define MAX 100
void Lectura(int[][MAX], int); /* Prototipos de funciones. */
int Simetrico(int[][MAX], int);
void main(void)
{
int MAT[MAX][MAX], N, RES;
do
{
printf("Ingrese el tamaño del arreglo: ");
scanf("%d", &N);
} while (N > MAX || N < 1); /* Se verifica que el tamaño del arreglo sea
válido. */
Lectura(MAT, N);
RES = Simetrico(MAT, N);
if (RES)
printf("\nEl arreglo bidimensional es simetrico");
else
printf("\nEl arreglo bidimensional no es simetrico");
}
void Lectura(int A[][MAX], int T)
/* La función Lectura se utiliza para leer un arreglo bidimensional cuadrado de
tipo entero de T filas y T columnas. */
{
int I, J;
for (I = 0; I < T; I++)
for (J = 0; J < T; J++)
{
printf("Fila: %d\tColumna: %d", I + 1, J + 1);
scanf("%d", &A[I][J]);
}
}
int Simetrico(int A[][MAX], int T)
/* La función Simétrico se utiliza para determinar si el arreglo bidimensional
➥cuadrado es simétrico. Si es simétrico regresa 1, en caso contrario, 0.
➥Observa que en el segundo ciclo solamente se recorre la matriz triangular
➥inferior, sin la diagonal principal. */
{
int I = 0, J, F = 1;
while ((I < T) && F)
{
J = 0;
while ((J < I) && F)
if (A[I][J] == A[J][I])
J++;
else
F = 0;
I++;
}
return (F);
}