Código C:
Ver original
Les dejo todo el código, gracias
Código C:
Ver original
#define MAX 100 /*Estructura de la Base de Datos*/ struct VL{ char desde[20]; char hacia[20]; int distancia; char visitado; }; struct VL vuelos[MAX]; /*Arreglo que contiene la estructura descrita anteriormente*/ int pos_ult=0; /*Ultimo elemento de la BBDD*/ int encuentra_pos=0; /*Indice de la Busqueda*/ void inicia(){ declara_vuelo("Nueva York","Chicago",1000); declara_vuelo("Chicago","Denver",1000); declara_vuelo("Nueva York","Toronto",800); declara_vuelo("Toronto","Calgary",1500); declara_vuelo("Toronto","Los Angeles",1800); declara_vuelo("Toronto","Chicago",500); declara_vuelo("Denver","Urbana",1000); declara_vuelo("Denver","Houston",1500); declara_vuelo("Houston","Los Angeles",1000); declara_vuelo("Denver","Los Angeles",1000); } /*Llenamos la BBDD*/ void declara_vuelo(desde,hacia,dist) char *desde,*hacia; int dist; { if(pos_ult<MAX){ vuelos[pos_ult].distancia=dist; vuelos[pos_ult].visitado=0; pos_ult++; } } /* * Esta funcion calcula si hay una ruta directa en tre dos ciudades, * si hay conexion devuelve la distacia, sino devuelve 0 (cero) */ int unidas(desde,hacia) char *desde,*hacia; { register int t; // La palabra clave register es un especificador de tipo de almacenamiento // ("storage class specifier"); se utiliza para indicar al compilador que // ciertas variables (normalmente del tipo int y char) deben ser almacenadas // en los registros del procesador en lugar de la pila for(t=pos_ult-1; t>-1; t--) return 0; } /* * Esta Funcion busca si la ciudad desde tiene conexion con cualquier ciudad * si la encuentra retornara la distacia y sino retornara cero */ int encuentra(desde,cualquier_lugar) char *desde, *cualquier_lugar; { encuentra_pos=0; // Varible Global while(encuentra_pos<pos_ult){ /*vuelos[encuentra_pos].visitado = 1; /*Se Activa*/ return vuelos[encuentra_pos].distancia; } encuentra_pos++; } return 0; }