GatoBooster

MOD 3 Cues 1 Preg 2

Oct 16th, 2017
136
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.07 KB | None | 0 0
  1. //gcc 5.4.0
  2.  
  3. //Librerias
  4. #include <stdio.h>
  5. #include <math.h>
  6.  
  7. //Declaración Global del tipo montana
  8. typedef struct montana {
  9.     int numMontana;  //Almacena número montaña
  10.     float altura;    //Almacena altura montaña
  11.     float distancia; //Almacena distancia entre base montañistas y montaña
  12.     float costo;     //Almacena costo de escalar montaña
  13. } Montana;
  14.  
  15. int main(){ //Inicio del Main
  16.     //Declaración de Variables
  17.     int cantM, i, j;
  18.     float aux;
  19.     Montana vector[40+1];
  20.    
  21.     do{
  22.         scanf("%d",&cantM);             //ingreso de la variable cantM
  23.     }while((cantM < 1)&&(cantM > 40));
  24.    
  25.     for(i = 0; i < cantM; i++){         //Rellenar el vector
  26.         vector[i].numMontana = i+1;
  27.         scanf("%f",&vector[i].altura);
  28.         scanf("%f",&vector[i].distancia);
  29.         vector[i].costo = ((vector[i].altura) + (vector[i].distancia));
  30.     }
  31.    
  32.     for(i = 0; i < cantM; i++){    //Se recorre el vector comparando si es mayor y se intercambian
  33.                                    //los valores entre ellos para que así, esten ordenados
  34.         for(j = 0; j < (cantM-1); j++){
  35.             if(vector[i].costo > vector[j].costo){
  36.                 aux = vector[i].costo;
  37.                 vector[i].costo = vector[j].costo;
  38.                 vector[j].costo = aux;
  39.                
  40.                 aux = vector[i].altura;
  41.                 vector[i].altura = vector[j].altura;
  42.                 vector[j].altura = aux;
  43.                
  44.                 aux = vector[i].distancia;
  45.                 vector[i].distancia = vector[j].distancia;
  46.                 vector[j].distancia = aux;
  47.                
  48.                 aux = vector[i].numMontana;
  49.                 vector[i].numMontana = vector[j].numMontana;
  50.                 vector[j].numMontana = aux;
  51.             }
  52.         }
  53.     }
  54.    
  55.     for(i = 0; i < cantM; i++){                     //Impresión de los datos
  56.         printf("%14d %14.2f %14.2f %14.2f\n", vector[i].numMontana, vector[i].altura, vector[i].distancia, vector[i].costo);
  57.     }
  58.    
  59.     return 0;       //Fin del Main
  60. }
Advertisement
Add Comment
Please, Sign In to add comment