Created
February 10, 2017 05:32
-
-
Save aguhcel/f43c623785e307fec336f7273c396270 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#include<stdio.h> | |
#include<stdlib.h> | |
#include<conio.h> | |
#include<string.h> | |
char VerLinea(char [][100],int , int,int); | |
char VerLine(char [][100],char [][100],int ,int ,int ,int ); | |
main() | |
{ | |
char L1[21][100] = {"Linea 1 ","Observatorio","Tacubaya","Juanacatlan","Chapultepec","Sevilla","Insurgentes","Cuahutemoc","Balderas","Salto Del Agua","Isabel La Catolica","Pino Suarez","Merced","Candelaria","San Lazaro","Moctezuma","Balbuena","Boulevard Puerto Aereo","Gomez Farias","Zaragoza","Pantitlan"}; | |
char L2[25][100] = {"Linea 2 ","Cuatro Caminos","Panteones","Tacuba","Cuitlahuac","Popotla","Colegio Militar","Normal","San Cosme","Revolucion","Hidalgo","Bellas Artes","Allende","Zocalo","Pino Suarez","San Antonio Abad","Chabacano","Viaducto","Xola","Villa De Cortes","Nativitas","Portales","Ermita","General Anaya","Tasquena"}; | |
char L3[22][100] = {"Linea 3 ","Indios Verdes","Deportivo 18 De Marzo","Potrero","La Raza","Tlatelolco","Guerrero","Hidalgo","Juarez","Balderas","Ninos Heroes","Hospital General","Centro Medico","Etiopia-Plaza De La Transparencia","Eugenia","Division del Norte","Zapata","Coyoacan","Viveros-Derechos Humanos","Miguel Angel De Quevedo","Copilco","Universidad"}; | |
char L4[11][100] = {"Linea 4 ","Martin Carrera","Talisman","Bondojito","Consulado","Canal Del Norte","Morelos","Candelaria","Fray Servando","Jamaica","Santa Anita"}; | |
char L5[14][100] = {"Linea 5 ","Pantitlan","Hangares","Terminal Aerea","Oceania","Aragon","Eduardo Molina","Consulado","Valle Gomez","Misterios","La Raza","Autobuses Del Norte","Instituto Del Petroleo","Politecnico"}; | |
char L6[12][100] = {"Linea 6 ","El Rosario","Tezozomoc","UAM-Azcapotzalco","Ferreria/Arena Ciudad De Mexico","Norte 45","Vallejo","Instituto Del Petroleo","Lindavista","Deportivo 18 De Marzo","La Villa-Basilica","Martin Carrera"}; | |
char L7[15][100] = {"Linea 7 ","El Rosario","Aquiles Serdan","Camarones","Refineria","Tacuba","San Joaquin","Polanco","Auditorio","Constituyentes","Tacubaya","San Pedro De Los Pinos","San Antonio","Mixcoac","Barranca Del Muerto"}; | |
char L8[20][100] = {"Linea 8 ","Garibaldi-Lagunilla","Bellas Artes","San Juan De Letran","Salto Del Agua","Doctores","Obrera","Chabacano","La Viga","Santa Anita","Coyuya","Iztacalco","Apatlaco","Aculco","Escuadro 201","Atlalico","Iztapalapa","Cerro De La Estrella","UAM-I","Constitucion De 1917"}; | |
char L9[13][100] = {"Linea 9 ","Pantitlan","Puebla","Ciudad Deportiva","Velodromo","Mixiuhca","Jamaica","Chabacano","Lazaro Cardenas","Centro Medico","Chilpancingo","Patriotismo","Tacubaya"}; | |
char LA[11][100] = {"Linea A ","Pantitlan","Agricola Oriental","Canal De San Juan","Tepalcates","Guelatao","Penon Viejo","Acatitla","Santa Marta","Los Reyes","La Paz"}; | |
char LB[22][100] = {"Linea B ","Buenavista","Guerrero","Garibaldi-Lagunilla","Lagunilla","Tepito","Morelos","San Lazaro","Ricardo Flores Magon","Romero Rubio","Oceania","Deportivo Oceania","Bosque De Aragon","Villa De Aragon","Nezahualcoyotl","Impulsora","Rio De Los Remedios","Muzquiz","Ecatepec","Olimpica","Plaza Aragon","Ciudad Azteca"}; | |
char L12[21][100] = {"Linea 12 ","Tlahuac","Tlaltenco","Zapotitlan","Nopalera","Olivos","Tezonco","Periferico Oriente","Calle 11","Lomas Estrella","San Andres Tomatlan","Culhuacan","Atlalilco","Mexicaltzingo","Ermita","Eje Central","Parque De Los Venados","Zapata","Hospital 20 De Noviembre","Insurgentes Sur","Mixcoac"}; | |
// 1 2 3 4 5 6 7 8 9 A B 12 | |
int conexion[12][12]= {{0,1,1,1,1,0,1,1,1,1,1,0}, //L1 | |
{1,0,1,0,0,0,1,1,1,0,0,1}, //L2 | |
{1,1,0,0,1,1,0,0,1,0,1,1}, //L3 | |
{1,0,0,0,1,1,0,1,1,0,1,0}, //L4 | |
{1,0,1,1,0,1,0,0,1,1,1,0}, //L5 | |
{0,0,1,1,0,1,1,0,0,0,0,0}, //L6 | |
{1,1,0,0,0,1,0,0,1,0,0,1}, //L7 | |
{1,1,0,1,0,0,0,0,1,0,1,1}, //L8 | |
{1,1,1,1,1,0,1,1,0,1,0,0}, //L9 | |
{1,0,0,0,1,0,0,0,1,0,0,0}, //LA | |
{1,0,1,1,1,0,0,1,0,0,0,0}, //LB | |
{0,1,1,0,0,0,1,1,0,0,0,0}}; //L12 | |
char temp1[30][100],temp2[30][100],cadena[30],origen[30],destino[30]; | |
int ini,fin,i,j,k,Lini,Lfin,Limi1,Limi2,b=0,pini,pfin,L; | |
printf("\t\tProyecto Final-Metro de la CDMX\n"); | |
printf("De que Estacion Parte: "); | |
gets(origen); | |
printf("Estacion Destino: "); | |
gets(destino); | |
//printf("\nEl origen ingresado es : %s\ty el destino: %s\t\n",origen,destino); | |
/*for(i=0;i<12;i++) | |
{ | |
for(j=0;j<12;j++) | |
{ | |
printf("%d",conexion[i][j]); | |
} | |
printf("\n"); | |
} | |
printf("\n\n");*/ | |
//algoritmo de busqueda devuelve 0 si son iguales | |
for(i=0;i<30;i++) | |
{ | |
if(strcmp(origen,L1[i])==0) | |
{ | |
ini=i; | |
Lini=1; | |
for(j=0;j<21;++j) | |
{ | |
strcpy(temp1[j],L1[j]); | |
} | |
break; | |
} | |
if(strcmp(origen,L2[i])==0) | |
{ | |
ini=i; | |
Lini=2; | |
for(j=0;j<25;++j) | |
{ | |
strcpy(temp1[j],L2[j]); | |
} | |
break; | |
} | |
if(strcmp(origen,L3[i])==0) | |
{ | |
ini=i; | |
Lini=3; | |
for(j=0;j<22;++j) | |
{ | |
strcpy(temp1[j],L3[j]); | |
} | |
break; | |
} | |
if(strcmp(origen,L4[i])==0) | |
{ | |
ini=i; | |
Lini=4; | |
for(j=0;j<11;++j) | |
{ | |
strcpy(temp1[j],L4[j]); | |
} | |
break; | |
} | |
if(strcmp(origen,L5[i])==0) | |
{ | |
ini=i; | |
Lini=5; | |
for(j=0;j<14;++j) | |
{ | |
strcpy(temp1[j],L5[j]); | |
} | |
break; | |
} | |
if(strcmp(origen,L6[i])==0) | |
{ | |
ini=i; | |
Lini=6; | |
for(j=0;j<12;++j) | |
{ | |
strcpy(temp1[j],L6[j]); | |
} | |
break; | |
} | |
if(strcmp(origen,L7[i])==0) | |
{ | |
ini=i; | |
Lini=7; | |
for(j=0;j<15;++j) | |
{ | |
strcpy(temp1[j],L7[j]); | |
} | |
break; | |
} | |
if(strcmp(origen,L8[i])==0) | |
{ | |
ini=i; | |
Lini=8; | |
for(j=0;j<20;++j) | |
{ | |
strcpy(temp1[j],L8[j]); | |
} | |
break; | |
} | |
if(strcmp(origen,L9[i])==0) | |
{ | |
ini=i; | |
Lini=9; | |
for(j=0;j<13;++j) | |
{ | |
strcpy(temp1[j],L9[j]); | |
} | |
break; | |
} | |
if(strcmp(origen,LA[i])==0) | |
{ | |
ini=i; | |
Lini=10; | |
for(j=0;j<11;++j) | |
{ | |
strcpy(temp1[j],LA[j]); | |
} | |
break; | |
} | |
if(strcmp(origen,LB[i])==0) | |
{ | |
ini=i; | |
Lini=11; | |
for(j=0;j<22;++j) | |
{ | |
strcpy(temp1[j],LB[j]); | |
} | |
break; | |
} | |
if(strcmp(origen,L12[i])==0) | |
{ | |
ini=i; | |
Lini=12; | |
for(j=0;j<21;++j) | |
{ | |
strcpy(temp1[j],L12[j]); | |
} | |
break; | |
} | |
} | |
//busca destino | |
for(i=0;i<30;i++) | |
{ | |
if(strcmp(destino,L1[i])==0) | |
{ | |
fin=i; | |
Lfin=1; | |
for(j=0;j<21;++j) | |
{ | |
strcpy(temp2[j],L1[j]); | |
} | |
break; | |
} | |
if(strcmp(destino,L2[i])==0) | |
{ | |
fin=i; | |
Lfin=2; | |
for(j=0;j<25;++j) | |
{ | |
strcpy(temp2[j],L2[j]); | |
} | |
break; | |
} | |
if(strcmp(destino,L3[i])==0) | |
{ | |
fin=i; | |
Lfin=3; | |
for(j=0;j<22;++j) | |
{ | |
strcpy(temp2[j],L3[j]); | |
} | |
break; | |
} | |
if(strcmp(destino,L4[i])==0) | |
{ | |
fin=i; | |
Lfin=4; | |
for(j=0;j<11;++j) | |
{ | |
strcpy(temp2[j],L4[j]); | |
} | |
break; | |
} | |
if(strcmp(destino,L5[i])==0) | |
{ | |
fin=i; | |
Lfin=5; | |
for(j=0;j<12;++j) | |
{ | |
strcpy(temp2[j],L5[j]); | |
} | |
break; | |
} | |
if(strcmp(destino,L6[i])==0) | |
{ | |
fin=i; | |
Lfin=6; | |
for(j=0;j<12;++j) | |
{ | |
strcpy(temp2[j],L6[j]); | |
} | |
break; | |
} | |
if(strcmp(destino,L7[i])==0) | |
{ | |
fin=i; | |
Lfin=7; | |
for(j=0;j<15;++j) | |
{ | |
strcpy(temp2[j],L7[j]); | |
} | |
break; | |
} | |
if(strcmp(destino,L8[i])==0) | |
{ | |
fin=i; | |
Lfin=8; | |
for(j=0;j<20;++j) | |
{ | |
strcpy(temp2[j],L8[j]); | |
} | |
break; | |
} | |
if(strcmp(destino,L9[i])==0) | |
{ | |
fin=i; | |
Lfin=9; | |
for(j=0;j<13;++j) | |
{ | |
strcpy(temp2[j],L9[j]); | |
} | |
break; | |
} | |
if(strcmp(destino,LA[i])==0) | |
{ | |
fin=i; | |
Lfin=10; | |
for(j=0;j<11;++j) | |
{ | |
strcpy(temp2[j],LA[j]); | |
} | |
break; | |
} | |
if(strcmp(destino,LB[i])==0) | |
{ | |
fin=i; | |
Lfin=11; | |
for(j=0;j<22;++j) | |
{ | |
strcpy(temp2[j],LB[j]); | |
} | |
break; | |
} | |
if(strcmp(destino,L12[i])==0) | |
{ | |
fin=i; | |
Lfin=12; | |
for(j=0;j<21;++j) | |
{ | |
strcpy(temp2[j],L12[j]); | |
} | |
break; | |
} | |
} | |
//impresion de datos | |
//printf("\npos origen:%d y estoy en la linea: %d",ini,Lini); | |
//printf("\npos destino:%d y estoy en la linea: %d\n",fin,Lfin); | |
//b=0; | |
//printf("\nLos valores de Limi1= %d, Limi2=%d\n",Limi1,Limi2); | |
//printf("\nLos valores de Lini= %d, Lfin=%d\n",Lini,Lfin); | |
if(Lini==1&&Lfin==1) | |
VerLinea(L1,ini,fin,Lini); | |
if(Lini==1&&Lfin==2) | |
VerLine(L1,L2,ini,fin,Lini,Lfin); | |
if(Lini==1&&Lfin==3) | |
VerLine(L1,L3,ini,fin,Lini,Lfin); | |
if(Lini==1&&Lfin==4) | |
VerLine(L1,L4,ini,fin,Lini,Lfin); | |
if(Lini==1&&Lfin==5) | |
VerLine(L1,L5,ini,fin,Lini,Lfin); | |
if(Lini==1&&Lfin==6) | |
VerLine(L1,L6,ini,fin,Lini,Lfin); | |
if(Lini==1&&Lfin==7) | |
VerLine(L1,L7,ini,fin,Lini,Lfin); | |
if(Lini==1&&Lfin==8) | |
VerLine(L1,L8,ini,fin,Lini,Lfin); | |
if(Lini==1&&Lfin==9) | |
VerLine(L1,L9,ini,fin,Lini,Lfin); | |
if(Lini==1&&Lfin==10) | |
VerLine(L1,LA,ini,fin,Lini,Lfin); | |
if(Lini==1&&Lfin==11) | |
VerLine(L1,LB,ini,fin,Lini,Lfin); | |
if(Lini==1&&Lfin==12) | |
VerLine(L1,L12,ini,fin,Lini,Lfin); | |
if(Lini==2&&Lfin==2) | |
VerLinea(L2,ini,fin,Lini); | |
if(Lini==2&&Lfin==1) | |
VerLine(L2,L1,ini,fin,Lini,Lfin); | |
if(Lini==2&&Lfin==3) | |
VerLine(L2,L3,ini,fin,Lini,Lfin); | |
if(Lini==2&&Lfin==4) | |
VerLine(L2,L4,ini,fin,Lini,Lfin); | |
if(Lini==2&&Lfin==5) | |
VerLine(L2,L5,ini,fin,Lini,Lfin); | |
if(Lini==2&&Lfin==6) | |
VerLine(L2,L6,ini,fin,Lini,Lfin); | |
if(Lini==2&&Lfin==7) | |
VerLine(L2,L7,ini,fin,Lini,Lfin); | |
if(Lini==2&&Lfin==8) | |
VerLine(L2,L8,ini,fin,Lini,Lfin); | |
if(Lini==2&&Lfin==9) | |
VerLine(L2,L9,ini,fin,Lini,Lfin); | |
if(Lini==2&&Lfin==10) | |
VerLine(L2,LA,ini,fin,Lini,Lfin); | |
if(Lini==2&&Lfin==11) | |
VerLine(L2,LB,ini,fin,Lini,Lfin); | |
if(Lini==2&&Lfin==12) | |
VerLine(L2,L12,ini,fin,Lini,Lfin); | |
if(Lini==3&&Lfin==3) | |
VerLinea(L3,ini,fin,Lini); | |
if(Lini==3&&Lfin==1) | |
VerLine(L3,L1,ini,fin,Lini,Lfin); | |
if(Lini==3&&Lfin==2) | |
VerLine(L3,L2,ini,fin,Lini,Lfin); | |
if(Lini==3&&Lfin==4) | |
VerLine(L3,L4,ini,fin,Lini,Lfin); | |
if(Lini==3&&Lfin==5) | |
VerLine(L3,L5,ini,fin,Lini,Lfin); | |
if(Lini==3&&Lfin==6) | |
VerLine(L3,L6,ini,fin,Lini,Lfin); | |
if(Lini==3&&Lfin==7) | |
VerLine(L3,L7,ini,fin,Lini,Lfin); | |
if(Lini==3&&Lfin==8) | |
VerLine(L3,L8,ini,fin,Lini,Lfin); | |
if(Lini==3&&Lfin==9) | |
VerLine(L3,L9,ini,fin,Lini,Lfin); | |
if(Lini==3&&Lfin==10) | |
VerLine(L3,LA,ini,fin,Lini,Lfin); | |
if(Lini==3&&Lfin==11) | |
VerLine(L3,LB,ini,fin,Lini,Lfin); | |
if(Lini==3&&Lfin==12) | |
VerLine(L3,L12,ini,fin,Lini,Lfin); | |
if(Lini==4&&Lfin==4) | |
VerLinea(L4,ini,fin,Lini); | |
if(Lini==4&&Lfin==1) | |
VerLine(L4,L1,ini,fin,Lini,Lfin); | |
if(Lini==4&&Lfin==2) | |
VerLine(L4,L2,ini,fin,Lini,Lfin); | |
if(Lini==4&&Lfin==3) | |
VerLine(L4,L3,ini,fin,Lini,Lfin); | |
if(Lini==4&&Lfin==5) | |
VerLine(L4,L5,ini,fin,Lini,Lfin); | |
if(Lini==4&&Lfin==6) | |
VerLine(L4,L6,ini,fin,Lini,Lfin); | |
if(Lini==4&&Lfin==7) | |
VerLine(L4,L7,ini,fin,Lini,Lfin); | |
if(Lini==4&&Lfin==8) | |
VerLine(L4,L8,ini,fin,Lini,Lfin); | |
if(Lini==4&&Lfin==9) | |
VerLine(L4,L9,ini,fin,Lini,Lfin); | |
if(Lini==4&&Lfin==10) | |
VerLine(L4,LA,ini,fin,Lini,Lfin); | |
if(Lini==4&&Lfin==11) | |
VerLine(L4,LB,ini,fin,Lini,Lfin); | |
if(Lini==4&&Lfin==12) | |
VerLine(L4,L12,ini,fin,Lini,Lfin); | |
if(Lini==5&&Lfin==5) | |
VerLinea(L5,ini,fin,Lini); | |
if(Lini==5&&Lfin==1) | |
VerLine(L5,L1,ini,fin,Lini,Lfin); | |
if(Lini==5&&Lfin==2) | |
VerLine(L5,L2,ini,fin,Lini,Lfin); | |
if(Lini==5&&Lfin==3) | |
VerLine(L5,L3,ini,fin,Lini,Lfin); | |
if(Lini==5&&Lfin==4) | |
VerLine(L5,L4,ini,fin,Lini,Lfin); | |
if(Lini==5&&Lfin==6) | |
VerLine(L5,L6,ini,fin,Lini,Lfin); | |
if(Lini==5&&Lfin==7) | |
VerLine(L5,L7,ini,fin,Lini,Lfin); | |
if(Lini==5&&Lfin==8) | |
VerLine(L5,L8,ini,fin,Lini,Lfin); | |
if(Lini==5&&Lfin==9) | |
VerLine(L5,L9,ini,fin,Lini,Lfin); | |
if(Lini==5&&Lfin==10) | |
VerLine(L5,LA,ini,fin,Lini,Lfin); | |
if(Lini==5&&Lfin==11) | |
VerLine(L5,LB,ini,fin,Lini,Lfin); | |
if(Lini==5&&Lfin==12) | |
VerLine(L5,L12,ini,fin,Lini,Lfin); | |
if(Lini==6&&Lfin==6) | |
VerLinea(L6,ini,fin,Lini); | |
if(Lini==6&&Lfin==1) | |
VerLine(L6,L1,ini,fin,Lini,Lfin); | |
if(Lini==6&&Lfin==2) | |
VerLine(L6,L2,ini,fin,Lini,Lfin); | |
if(Lini==6&&Lfin==3) | |
VerLine(L6,L3,ini,fin,Lini,Lfin); | |
if(Lini==6&&Lfin==4) | |
VerLine(L6,L4,ini,fin,Lini,Lfin); | |
if(Lini==6&&Lfin==5) | |
VerLine(L6,L5,ini,fin,Lini,Lfin); | |
if(Lini==6&&Lfin==7) | |
VerLine(L6,L7,ini,fin,Lini,Lfin); | |
if(Lini==6&&Lfin==8) | |
VerLine(L6,L8,ini,fin,Lini,Lfin); | |
if(Lini==6&&Lfin==9) | |
VerLine(L6,L9,ini,fin,Lini,Lfin); | |
if(Lini==6&&Lfin==10) | |
VerLine(L6,LA,ini,fin,Lini,Lfin); | |
if(Lini==6&&Lfin==11) | |
VerLine(L6,LB,ini,fin,Lini,Lfin); | |
if(Lini==6&&Lfin==12) | |
VerLine(L6,L12,ini,fin,Lini,Lfin); | |
if(Lini==7&&Lfin==7) | |
VerLinea(L7,ini,fin,Lini); | |
if(Lini==7&&Lfin==1) | |
VerLine(L7,L1,ini,fin,Lini,Lfin); | |
if(Lini==7&&Lfin==2) | |
VerLine(L7,L2,ini,fin,Lini,Lfin); | |
if(Lini==7&&Lfin==3) | |
VerLine(L7,L3,ini,fin,Lini,Lfin); | |
if(Lini==7&&Lfin==4) | |
VerLine(L7,L4,ini,fin,Lini,Lfin); | |
if(Lini==7&&Lfin==5) | |
VerLine(L7,L5,ini,fin,Lini,Lfin); | |
if(Lini==7&&Lfin==6) | |
VerLine(L7,L6,ini,fin,Lini,Lfin); | |
if(Lini==7&&Lfin==8) | |
VerLine(L7,L8,ini,fin,Lini,Lfin); | |
if(Lini==7&&Lfin==9) | |
VerLine(L7,L9,ini,fin,Lini,Lfin); | |
if(Lini==7&&Lfin==10) | |
VerLine(L7,LA,ini,fin,Lini,Lfin); | |
if(Lini==7&&Lfin==11) | |
VerLine(L7,LB,ini,fin,Lini,Lfin); | |
if(Lini==7&&Lfin==12) | |
VerLine(L7,L12,ini,fin,Lini,Lfin); | |
if(Lini==8&&Lfin==8) | |
VerLinea(L8,ini,fin,Lini); | |
if(Lini==8&&Lfin==1) | |
VerLine(L8,L1,ini,fin,Lini,Lfin); | |
if(Lini==8&&Lfin==2) | |
VerLine(L8,L2,ini,fin,Lini,Lfin); | |
if(Lini==8&&Lfin==3) | |
VerLine(L8,L3,ini,fin,Lini,Lfin); | |
if(Lini==8&&Lfin==4) | |
VerLine(L8,L4,ini,fin,Lini,Lfin); | |
if(Lini==8&&Lfin==5) | |
VerLine(L8,L5,ini,fin,Lini,Lfin); | |
if(Lini==8&&Lfin==6) | |
VerLine(L8,L6,ini,fin,Lini,Lfin); | |
if(Lini==8&&Lfin==7) | |
VerLine(L8,L7,ini,fin,Lini,Lfin); | |
if(Lini==8&&Lfin==9) | |
VerLine(L8,L9,ini,fin,Lini,Lfin); | |
if(Lini==8&&Lfin==10) | |
VerLine(L8,LA,ini,fin,Lini,Lfin); | |
if(Lini==8&&Lfin==11) | |
VerLine(L8,LB,ini,fin,Lini,Lfin); | |
if(Lini==8&&Lfin==12) | |
VerLine(L8,L12,ini,fin,Lini,Lfin); | |
if(Lini==9&&Lfin==9) | |
VerLinea(L9,ini,fin,Lini); | |
if(Lini==9&&Lfin==1) | |
VerLine(L9,L1,ini,fin,Lini,Lfin); | |
if(Lini==9&&Lfin==2) | |
VerLine(L9,L2,ini,fin,Lini,Lfin); | |
if(Lini==9&&Lfin==3) | |
VerLine(L9,L3,ini,fin,Lini,Lfin); | |
if(Lini==9&&Lfin==4) | |
VerLine(L9,L4,ini,fin,Lini,Lfin); | |
if(Lini==9&&Lfin==5) | |
VerLine(L9,L5,ini,fin,Lini,Lfin); | |
if(Lini==9&&Lfin==6) | |
VerLine(L9,L6,ini,fin,Lini,Lfin); | |
if(Lini==9&&Lfin==7) | |
VerLine(L9,L7,ini,fin,Lini,Lfin); | |
if(Lini==9&&Lfin==8) | |
VerLine(L9,L8,ini,fin,Lini,Lfin); | |
if(Lini==9&&Lfin==10) | |
VerLine(L9,LA,ini,fin,Lini,Lfin); | |
if(Lini==9&&Lfin==11) | |
VerLine(L9,LB,ini,fin,Lini,Lfin); | |
if(Lini==9&&Lfin==12) | |
VerLine(L9,L12,ini,fin,Lini,Lfin); | |
if(Lini==10&&Lfin==10) | |
VerLinea(LA,ini,fin,Lini); | |
if(Lini==10&&Lfin==1) | |
VerLine(LA,L1,ini,fin,Lini,Lfin); | |
if(Lini==10&&Lfin==2) | |
VerLine(LA,L2,ini,fin,Lini,Lfin); | |
if(Lini==10&&Lfin==3) | |
VerLine(LA,L3,ini,fin,Lini,Lfin); | |
if(Lini==10&&Lfin==4) | |
VerLine(LA,L4,ini,fin,Lini,Lfin); | |
if(Lini==10&&Lfin==5) | |
VerLine(LA,L5,ini,fin,Lini,Lfin); | |
if(Lini==10&&Lfin==6) | |
VerLine(LA,L6,ini,fin,Lini,Lfin); | |
if(Lini==10&&Lfin==7) | |
VerLine(LA,L7,ini,fin,Lini,Lfin); | |
if(Lini==10&&Lfin==8) | |
VerLine(LA,L8,ini,fin,Lini,Lfin); | |
if(Lini==10&&Lfin==9) | |
VerLine(LA,L9,ini,fin,Lini,Lfin); | |
if(Lini==10&&Lfin==11) | |
VerLine(LA,LB,ini,fin,Lini,Lfin); | |
if(Lini==10&&Lfin==12) | |
VerLine(LA,L12,ini,fin,Lini,Lfin); | |
if(Lini==11&&Lfin==11) | |
VerLinea(LB,ini,fin,Lini); | |
if(Lini==11&&Lfin==1) | |
VerLine(LB,L1,ini,fin,Lini,Lfin); | |
if(Lini==11&&Lfin==2) | |
VerLine(LB,L2,ini,fin,Lini,Lfin); | |
if(Lini==11&&Lfin==3) | |
VerLine(LB,L3,ini,fin,Lini,Lfin); | |
if(Lini==11&&Lfin==4) | |
VerLine(LB,L4,ini,fin,Lini,Lfin); | |
if(Lini==11&&Lfin==5) | |
VerLine(LB,L5,ini,fin,Lini,Lfin); | |
if(Lini==11&&Lfin==6) | |
VerLine(LB,L6,ini,fin,Lini,Lfin); | |
if(Lini==11&&Lfin==7) | |
VerLine(LB,L7,ini,fin,Lini,Lfin); | |
if(Lini==11&&Lfin==8) | |
VerLine(LB,L8,ini,fin,Lini,Lfin); | |
if(Lini==11&&Lfin==9) | |
VerLine(LB,L9,ini,fin,Lini,Lfin); | |
if(Lini==11&&Lfin==10) | |
VerLine(LB,LA,ini,fin,Lini,Lfin); | |
if(Lini==11&&Lfin==12) | |
VerLine(LB,L12,ini,fin,Lini,Lfin); | |
if(Lini==12&&Lfin==12) | |
VerLinea(L12,ini,fin,Lini); | |
if(Lini==12&&Lfin==1) | |
VerLine(L12,L1,ini,fin,Lini,Lfin); | |
if(Lini==12&&Lfin==2) | |
VerLine(L12,L2,ini,fin,Lini,Lfin); | |
if(Lini==12&&Lfin==3) | |
VerLine(L12,L3,ini,fin,Lini,Lfin); | |
if(Lini==12&&Lfin==4) | |
VerLine(L12,L4,ini,fin,Lini,Lfin); | |
if(Lini==12&&Lfin==5) | |
VerLine(L12,L5,ini,fin,Lini,Lfin); | |
if(Lini==12&&Lfin==6) | |
VerLine(L12,L6,ini,fin,Lini,Lfin); | |
if(Lini==12&&Lfin==7) | |
VerLine(L12,L7,ini,fin,Lini,Lfin); | |
if(Lini==12&&Lfin==8) | |
VerLine(L12,L8,ini,fin,Lini,Lfin); | |
if(Lini==12&&Lfin==9) | |
VerLine(L12,L9,ini,fin,Lini,Lfin); | |
if(Lini==12&&Lfin==10) | |
VerLine(L12,LA,ini,fin,Lini,Lfin); | |
if(Lini==12&&Lfin==11) | |
VerLine(L12,LB,ini,fin,Lini,Lfin); | |
/*printf("\npos origen:%d y estoy en la linea: %d",ini,Lini); | |
printf("\npos destino:%d y estoy en la linea: %d\n",fin,Lfin); | |
printf("el tamano de linea: %d y %d",Long1,Long2); | |
printf("\nLinea %d:%d, Linea %d:%d",Lini,pini,Lfin,pfin);*/ | |
getch(); | |
} | |
char VerLinea(char line[][100],int pini, int pfin,int L) | |
{ | |
int j,tam1,tam[]={21,25,22,11,14,12,15,20,13,11,22,21}; | |
tam1=tam[L-1]; | |
if(pini>pfin) | |
{ | |
printf("\nTe encuentras %s en direcion %s \n",line[0],line[1]); | |
for(j=pini;j>=pfin;j--) | |
printf("\n%s",line[j]); | |
} | |
else | |
{ | |
printf("\nTe encuentras %s en direcion %s \n",line[0],line[tam1-1]); | |
for(j=pini;j<=pfin;j++) | |
printf("\n%s",line[j]); | |
} | |
} | |
/*if(ini>fin) | |
{ | |
for(j=ini;j>=fin;j--) | |
printf("\n%s",L2[j]); | |
} | |
else | |
{ | |
for(j=ini;j<=fin;j++) | |
printf("\n%s",L2[j]); | |
}*/ | |
char VerLine(char linea[][100],char line[][100],int pini,int pfin,int Lini,int Lfin) | |
{ | |
char L1[21][100] = {"Linea 1 ","Observatorio","Tacubaya","Juanacatlan","Chapultepec","Sevilla","Insurgentes","Cuahutemoc","Balderas","Salto Del Agua","Isabel La Catolica","Pino Suarez","Merced","Candelaria","San Lazaro","Moctezuma","Balbuena","Boulevard Puerto Aereo","Gomez Farias","Zaragoza","Pantitlan"}; | |
char L2[25][100] = {"Linea 2 ","Cuatro Caminos","Panteones","Tacuba","Cuitlahuac","Popotla","Colegio Militar","Normal","San Cosme","Revolucion","Hidalgo","Bellas Artes","Allende","Zocalo","Pino Suarez","San Antonio Abad","Chabacano","Viaducto","Xola","Villa De Cortes","Nativitas","Portales","Ermita","General Anaya","Tasquena"}; | |
char L3[22][100] = {"Linea 3 ","Indios Verdes","Deportivo 18 De Marzo","Potrero","La Raza","Tlatelolco","Guerrero","Hidalgo","Juarez","Balderas","Ninos Heroes","Hospital General","Centro Medico","Etiopia-Plaza De La Transparencia","Eugenia","Division del Norte","Zapata","Coyoacan","Viveros-Derechos Humanos","Miguel Angel De Quevedo","Copilco","Universidad"}; | |
char L4[11][100] = {"Linea 4 ","Martin Carrera","Talisman","Bondojito","Consulado","Canal Del Norte","Morelos","Candelaria","Fray Servando","Jamaica","Santa Anita"}; | |
char L5[14][100] = {"Linea 5 ","Pantitlan","Hangares","Terminal Aerea","Oceania","Aragon","Eduardo Molina","Consulado","Valle Gomez","Misterios","La Raza","Autobuses Del Norte","Instituto Del Petroleo","Politecnico"}; | |
char L6[12][100] = {"Linea 6 ","El Rosario","Tezozomoc","UAM-Azcapotzalco","Ferreria/Arena Ciudad De Mexico","Norte 45","Vallejo","Instituto Del Petroleo","Lindavista","Deportivo 18 De Marzo","La Villa-Basilica","Martin Carrera"}; | |
char L7[15][100] = {"Linea 7 ","El Rosario","Aquiles Serdan","Camarones","Refineria","Tacuba","San Joaquin","Polanco","Auditorio","Constituyentes","Tacubaya","San Pedro De Los Pinos","San Antonio","Mixcoac","Barranca Del Muerto"}; | |
char L8[20][100] = {"Linea 8 ","Garibaldi-Lagunilla","Bellas Artes","San Juan De Letran","Salto Del Agua","Doctores","Obrera","Chabacano","La Viga","Santa Anita","Coyuya","Iztacalco","Apatlaco","Aculco","Escuadro 201","Atlalico","Iztapalapa","Cerro De La Estrella","UAM-I","Constitucion De 1917"}; | |
char L9[13][100] = {"Linea 9 ","Pantitlan","Puebla","Ciudad Deportiva","Velodromo","Mixiuhca","Jamaica","Chabacano","Lazaro Cardenas","Centro Medico","Chilpancingo","Patriotismo","Tacubaya"}; | |
char LA[11][100] = {"Linea A ","Pantitlan","Agricola Oriental","Canal De San Juan","Tepalcates","Guelatao","Penon Viejo","Acatitla","Santa Marta","Los Reyes","La Paz"}; | |
char LB[22][100] = {"Linea B ","Buenavista","Guerrero","Garibaldi-Lagunilla","Lagunilla","Tepito","Morelos","San Lazaro","Ricardo Flores Magon","Romero Rubio","Oceania","Deportivo Oceania","Bosque De Aragon","Villa De Aragon","Nezahualcoyotl","Impulsora","Rio De Los Remedios","Muzquiz","Ecatepec","Olimpica","Plaza Aragon","Ciudad Azteca"}; | |
char L12[21][100] = {"Linea 12 ","Tlahuac","Tlaltenco","Zapotitlan","Nopalera","Olivos","Tezonco","Periferico Oriente","Calle 11","Lomas Estrella","San Andres Tomatlan","Culhuacan","Atlalilco","Mexicaltzingo","Ermita","Eje Central","Parque De Los Venados","Zapata","Hospital 20 De Noviembre","Insurgentes Sur","Mixcoac"}; | |
char cadena[30],temp1[30][100],temp2[30][100],temp3[30][100]; | |
int linter,Limi1,Limi2,i,j,k,l=0,L,cont=0,b,Long1,Long2,Long3,tam1,tam2,tras,tras1,tra,tra1,tam[]={21,25,22,11,14,12,15,20,13,11,22,21}; | |
int conexion[12][12]= {{0,1,1,1,1,0,1,1,1,1,1,0}, //L1 | |
{1,0,1,0,0,0,1,1,1,0,0,1}, //L2 | |
{1,1,0,0,1,1,0,0,1,0,1,1}, //L3 | |
{1,0,0,0,1,1,0,1,1,0,1,0}, //L4 | |
{1,0,1,1,0,1,0,0,1,1,1,0}, //L5 | |
{0,0,1,1,0,1,1,0,0,0,0,0}, //L6 | |
{1,1,0,0,0,1,0,0,1,0,0,1}, //L7 | |
{1,1,0,1,0,0,0,0,1,0,1,1}, //L8 | |
{1,1,1,1,1,0,1,1,0,1,0,0}, //L9 | |
{1,0,0,0,1,0,0,0,1,0,0,0}, //LA | |
{1,0,1,1,1,0,0,1,0,0,0,0}, //LB | |
{0,1,1,0,0,0,1,1,0,0,0,0}}; //L12 | |
Limi1=Lini-1; | |
Limi2=Lfin-1; | |
Long1=tam[Lini-1]; | |
Long2=tam[Lfin-1]; | |
for(i=0;i<=Long1;i++) | |
strcpy(temp1[i],linea[i]); | |
for(i=0;i<=Long2;i++) | |
strcpy(temp2[i],line[i]); | |
if(Limi1<Limi2) | |
{ | |
for(i=Limi1;i<=Limi2;i++) | |
{ | |
for(j=Limi1;j<=Limi2;j++) | |
{ | |
if(i==Limi1 && j==Limi2) | |
{ | |
if(conexion[i][j]==1) | |
{ | |
//printf("A:%d\n",conexion[i][j]); | |
b++; | |
} | |
} | |
if(i==Limi2 && j==Limi1) | |
{ | |
if(conexion[i][j]==1) | |
{ | |
// printf("B:%d\n\n",conexion[i][j]); | |
b++; | |
} | |
} | |
} | |
} | |
} | |
if(Limi1>Limi2) | |
{ | |
for(i=Limi2;i<=Limi1;i++) | |
{ | |
for(j=Limi2;j<=Limi1;j++) | |
{ | |
if(i==Limi2 && j==Limi1) | |
{ | |
if(conexion[i][j]==1) | |
{ | |
//printf("C:%d",conexion[i][j]); | |
b++; | |
} | |
} | |
if(i==Limi1 && j==Limi2) | |
{ | |
if(conexion[i][j]==1) | |
{ | |
//printf("D:%d\n",conexion[i][j]); | |
b++; | |
} | |
} | |
} | |
} | |
} | |
//printf("\nb :%d\n\n",b); | |
if(b==2) | |
{ | |
printf("\nPuedes Tomar Esta Ruta\n"); | |
//busqueda de linea en comun | |
for(i=0;i<Long1;i++) | |
{ | |
strcpy(cadena,temp1[i]); | |
for(j=0;j<Long2;j++) | |
{ | |
if(strcmp(cadena,temp2[j])==0) | |
{ | |
tras=i; | |
tra=j; | |
break; | |
} | |
} | |
} | |
//fin del metodo | |
//impresion de la ruta encontrada | |
if(pini<tras) | |
{ | |
printf("\nTe encuentras en la %s en direcion %s \n",temp1[0],temp1[Long1-1]); | |
for(i=pini;i<=tras;i++) | |
printf("%s\n",temp1[i]); | |
} | |
if(pini>tras) | |
{ | |
printf("\nTe encuentras en la %s en direcion %s \n",temp1[0],temp1[1]); | |
for(i=pini;i>=tras;i--) | |
printf("%s\n",temp1[i]); | |
} | |
if(pfin<tra) | |
{ | |
printf("\nTrasborde en la %s en direcion %s \n",temp2[0],temp2[1]); | |
for(i=tra-1;i>=pfin;i--) | |
printf("%s\n",temp2[i]); | |
} | |
if(pfin>tra) | |
{ | |
printf("\nTrasborde en la %s en direcion %s \n",temp2[0],temp2[Long2-1]); | |
for(i=tra+1;i<=pfin;i++) | |
printf("%s\n",temp2[i]); | |
} | |
printf("\n\n"); | |
} | |
else | |
{ | |
for(i=1;i<=12;i++) | |
{ | |
if(conexion[i][Limi1]==1&&conexion[i][Limi2]==1) | |
{ | |
linter=i; | |
break; | |
} | |
} | |
if(linter==0){ | |
Long3=tam[0]; | |
for(i=0;i<=Long3;i++) | |
strcpy(temp3[i],L1[i]); | |
} | |
if(linter==1){ | |
Long3=tam[1]; | |
for(i=0;i<=Long3;i++) | |
strcpy(temp3[i],L2[i]); | |
}if(linter==2){ | |
Long3=tam[2]; | |
for(i=0;i<=Long3;i++) | |
strcpy(temp3[i],L3[i]); | |
} | |
if(linter==3){ | |
Long3=tam[3]; | |
for(i=0;i<=Long3;i++) | |
strcpy(temp3[i],L4[i]); | |
} | |
if(linter==4){ | |
Long3=tam[4]; | |
for(i=0;i<=Long3;i++) | |
strcpy(temp3[i],L5[i]); | |
} | |
if(linter==5){ | |
Long3=tam[5]; | |
for(i=0;i<=Long3;i++) | |
strcpy(temp3[i],L6[i]); | |
} | |
if(linter==6){ | |
Long3=tam[6]; | |
for(i=0;i<=Long3;i++) | |
strcpy(temp3[i],L7[i]); | |
} | |
if(linter==7){ | |
Long3=tam[7]; | |
for(i=0;i<=Long3;i++) | |
strcpy(temp3[i],L8[i]); | |
} | |
if(linter==8){ | |
Long3=tam[8]; | |
for(i=0;i<=Long3;i++) | |
strcpy(temp3[i],L9[i]); | |
}if(linter==9){ | |
Long3=tam[9]; | |
for(i=0;i<=Long3;i++) | |
strcpy(temp3[i],LA[i]); | |
} | |
if(linter==10){ | |
Long3=tam[10]; | |
for(i=0;i<=Long3;i++) | |
strcpy(temp3[i],LB[i]); | |
} | |
if(linter==11){ | |
Long3=tam[11]; | |
for(i=0;i<=Long3;i++) | |
strcpy(temp3[i],L12[i]); | |
} | |
printf("\nPuedes Tomar Esta Ruta\n"); | |
//busqueda de linea en comun | |
for(i=0;i<Long1;i++) | |
{ | |
strcpy(cadena,temp1[i]); | |
for(j=0;j<Long3;j++) | |
{ | |
if(strcmp(cadena,temp3[j])==0) | |
{ | |
tras=i; | |
tras1=j; | |
break; | |
} | |
} | |
} | |
for(i=0;i<Long3;i++) | |
{ | |
strcpy(cadena,temp3[i]); | |
for(j=0;j<Long2;j++) | |
{ | |
if(strcmp(cadena,temp2[j])==0) | |
{ | |
tra1=i; | |
tra=j; | |
break; | |
} | |
} | |
} | |
//fin del metodo | |
//impresion de la ruta encontrada | |
if(pini<tras) | |
{ | |
printf("\nTe encuentras en la %s en direcion %s \n",temp1[0],temp1[Long1-1]); | |
for(i=pini;i<=tras;i++) | |
printf("%s\n",temp1[i]); | |
} | |
if(pini>tras) | |
{ | |
printf("\nTe encuentras en la %s en direcion %s \n",temp1[0],temp1[1]); | |
for(i=pini;i>=tras;i--) | |
printf("%s\n",temp1[i]); | |
} | |
if(tras1<tra1) | |
{ | |
printf("\nTrasborde en la %s en direcion %s \n",temp3[0],temp3[Long3-1]); | |
for(i=tras1+1;i<=tra1;i++) | |
printf("%s\n",temp3[i]); | |
} | |
if(tras1>tra1) | |
{ | |
printf("\nTrasborde en la %s en direcion %s \n",temp3[0],temp3[1]); | |
for(i=tras1-1;i>=tra1;i--) | |
printf("%s\n",temp3[i]); | |
} | |
if(pfin<tra) | |
{ | |
printf("\nTrasborde en la %s en direcion %s \n",temp2[0],temp2[1]); | |
for(i=tra-1;i>=pfin;i--) | |
printf("%s\n",temp2[i]); | |
} | |
if(pfin>tra) | |
{ | |
printf("\nTrasborde en la %s en direcion %s \n",temp2[0],temp2[Long2-1]); | |
for(i=tra+1;i<=pfin;i++) | |
printf("%s\n",temp2[i]); | |
} | |
printf("\n\n"); | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment