Codigo De Matriz De Adyascencia
#include <stdio.h>
#define NumeroNodos 8 // definidos los nodos de la aplicación sin que estos varíen.
// Estructurar el algoritmo realizado en fases, primero con el uso defunciones.
// Declarar Array con valores string que indicarán cada nodo del problema
char Nodos [NumeroNodos] = {'A','B','C','D','E','F','G','H'};
// Declarar en forma manual Tabla de adyacenciade un grafo No dirigido
int TablaGrafo [NumeroNodos][NumeroNodos] =
{ { 0,1,1,0,1,0,1,0 },
{ 1,0,1,1,1,1,0,1 },
{ 1,1,0,0,1,1,0,0 },
{ 0,1,0,0,0,0,1,0 },
{ 1,1,1,0,0,1,0,1 },{ 0,1,1,0,1,0,1,1 },
{ 1,0,0,1,0,1,0,1 },
{ 0,1,0,0,1,1,1,0 }, };
// Array para guardar nodos que se han visitado durante un recorrido
int Visitados [NumeroNodos];
//Inicio delas funciones.
// Función para comprobar si dos nodos están conectados directamente e imprime en pantalla solicitud de datos.
int ConectadosDirectamente ( int nodo1, int nodo2)
{printf("<%c>-><%c> ",Nodos[nodo1],Nodos[nodo2]); // Imprime en pantalla los nodos, solicita la letra en Mayúscula.
printf("(%s)\n",(TablaGrafo[nodo1][nodo2])?"SI - Disponible":"NO - Sindisponibilidad"); // imprime en pantalla el resultado de sí o no están conectados los nodos.
getchar();
return TablaGrafo[nodo1][nodo2]; // Concluye la función regresando el valor de acuerdo ala revisión de la matriz
}
// Comprueba si dos nodos están conectados directa o indirectamente mediante nodos intermedios
// Inicialmente ningún nodo se ha visitado
void IniciarVisitados( void ){
int i;
for (i= 0; i <NumeroNodos; i++ )
{
Visitados[i] = 0;
}
}
// Anoto que un nodo se ha visitado
void AnotarVisitados( int nodo )
{
Visitados[nodo] = 1;
}// Pregunto si un nodo ha sido visitado
int Llegar ( int nodo )
{
return Visitados[nodo];
}
// Función principal para conexión de los nodos e indicar la manera de llegar al solicitado
int...
Regístrate para leer el documento completo.