Advertisement
ada_byron

ej3b

Nov 19th, 2017
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.71 KB | None | 0 0
  1. #include <stdio.h>
  2. #define MAX_CAPITALES 6
  3.  
  4. void main()
  5. {
  6. int distancias[MAX_CAPITALES][MAX_CAPITALES]={{0,1720,456,1845,1473,1093},{1720,0,1272,1965,2399,2322},{456,1272,0,1468,1280,1054},{1845,1965,1468,0,1130,1519},{1473,2399,1280,1130,0,682},{1093,2322,1054,1519,682,0}},id1,id2,id3,id4,id5,id6,num,i,camino;
  7. printf("Introduce el numero de ciudades a visitar: ");
  8. scanf("%d",&num);
  9. while((num<0)||(num>6))
  10. {
  11.     printf("Introduce el numero de ciudades a visitar: ");
  12.     scanf("%d",&num);
  13. }
  14. printf("Introduce el id de las ciudades a visitar (id1,id2,...): ");
  15. switch(num)
  16. {
  17. case 1:
  18.     scanf("%d",&id1);
  19.     while((id1<0)||(id1>5))
  20.     {
  21.         printf("Introduce el id de las ciudades a visitar (id1,id2,...): ");
  22.         scanf("%d",&id1);
  23.     }
  24.     printf("\nLa distancia del camino es: 0\n");
  25.     break;
  26. case 2:
  27.     scanf("%d,%d",&id1,&id2);
  28.     while((id1<0)||(id1>5)||(id2<0)||(id2>5))
  29.     {
  30.         printf("Introduce el id de las ciudades a visitar (id1,id2,...): ");
  31.         scanf("%d,%d",&id1,&id2);
  32.     }
  33.     camino=distancias[id1][id2];
  34.     printf("\nLa distancia del camino es: %d\n",camino);
  35.     break;
  36. case 3:
  37.     scanf("%d,%d,%d",&id1,&id2,&id3);
  38.     while((id1<0)||(id1>5)||(id2<0)||(id2>5)||(id3<0)||(id3>5))
  39.     {
  40.         printf("Introduce el id de las ciudades a visitar (id1,id2,...): ");
  41.         scanf("%d,%d,%d",&id1,&id2,&id3);
  42.     }
  43.     camino=distancias[id1][id2]+distancias[id2][id3];
  44.     printf("\nLa distancia del camino es: %d\n",camino);
  45.     break;
  46. case 4:
  47.     scanf("%d,%d,%d,%d",&id1,&id2,&id3,&id4);
  48.     while((id1<0)||(id1>5)||(id2<0)||(id2>5)||(id3<0)||(id3>5)||(id4<0)||(id4>5))
  49.     {
  50.         printf("Introduce el id de las ciudades a visitar (id1,id2,...): ");
  51.         scanf("%d,%d,%d,%d",&id1,&id2,&id3,&id4);
  52.     }
  53.     camino=distancias[id1][id2]+distancias[id2][id3]+distancias[id3][id4];
  54.     printf("\nLa distancia del camino es: %d\n",camino);
  55.     break;
  56. case 5:
  57.     scanf("%d,%d,%d,%d,%d",&id1,&id2,&id3,&id4,&id5);
  58.     while((id1<0)||(id1>5)||(id2<0)||(id2>5)||(id3<0)||(id3>5)||(id4<0)||(id4>5)||(id5<0)||(id5>5))
  59.     {
  60.         printf("Introduce el id de las ciudades a visitar (id1,id2,...): ");
  61.         scanf("%d,%d,%d,%d,%d",&id1,&id2,&id3,&id4,&id5);
  62.     }
  63.     camino=distancias[id1][id2]+distancias[id2][id3]+distancias[id3][id4]+distancias[id4][id5];
  64.     printf("\nLa distancia del camino es: %d\n",camino);
  65.     break;
  66. case 6:
  67.     scanf("%d,%d,%d,%d,%d,%d",&id1,&id2,&id3,&id4,&id5,&id6);
  68.     while((id1<0)||(id1>5)||(id2<0)||(id2>5)||(id3<0)||(id3>5)||(id4<0)||(id4>5)||(id5<0)||(id5>5)||(id6<0)||(id6>5))
  69.     {
  70.         printf("Introduce el id de las ciudades a visitar (id1,id2,...): ");
  71.         scanf("%d,%d,%d,%d,%d,%d",&id1,&id2,&id3,&id4,&id5,&id6);
  72.     }
  73.     camino=distancias[id1][id2]+distancias[id2][id3]+distancias[id3][id4]+distancias[id4][id5]+distancias[id5][id6];
  74.     printf("\nLa distancia del camino es: %d\n",camino);
  75.     break;
  76. }
  77. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement