Skip to content

Instantly share code, notes, and snippets.

@aguhcel
Created February 10, 2017 05:32
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save aguhcel/f43c623785e307fec336f7273c396270 to your computer and use it in GitHub Desktop.
Save aguhcel/f43c623785e307fec336f7273c396270 to your computer and use it in GitHub Desktop.
#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