Advertisement
nasho97

Lab3Preg2

Oct 14th, 2017
72
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 3.41 KB | None | 0 0
  1. //Ignacio Ruiz
  2. //13 de octubre
  3. //La Pieza perdida
  4. //Buscar la pieza que falta en el puzle encontrado
  5.  
  6. #include <stdio.h>                                                              //incluimos bibliotecas
  7.                                                                                 //Prototipamos las funciones
  8. unsigned short validar (int,int);                                               //Funcion que sirve para validar un número, se le entrega los rangos en los que debe estar
  9. int buscar(unsigned short,int[10001],unsigned short);                           //Funcion para buscar un número en cierto vector
  10. void RellenarVector (int *, unsigned short);                                    //Función para rellenar el vector
  11.  
  12. int main ()                                                                     //Comienzo de la función principal
  13. {
  14.     unsigned short CantPiezas;                                                  //Variable para guardar la cant de piezas
  15.     int Piezas [10001];                                                         //vector donde guardamos las piezas
  16.     unsigned short j;                                                           //variable para recorrer for'es
  17.    
  18.     CantPiezas=validar(2,10000);                                                //usamos la funcion para pedir un numero y validar
  19.    
  20.     RellenarVector (Piezas,CantPiezas);                                         //Función para rellenar el vector
  21.    
  22.     for (j=1;j<=CantPiezas;j++)                                                 //ciclo donde buscamos un por uno el número que falta
  23.     {                                                                           //usando la función buscar, se le entrega el número a buscar y el vector en dónde buscar
  24.         if (buscar (j,Piezas,CantPiezas)==0)                                    //buscamos el número, si la función nos retorna un 0 es que el número en cuestión no está
  25.         {                                                                       //y como se sabe que solo falta una pieza, directamente no buscamos más
  26.             printf ("LA PIEZA QUE FALTA ES LA %hu",j);                          //Se muestras por pantalla que pieza era la que faltaba y se rompe el ciclo para no seguir más
  27.             break;
  28.         }
  29.     }
  30.    
  31.     return 0;                                                          
  32. }                                                                               //Fin del main
  33.  
  34. unsigned short validar (int minimo, int maximo)                                 //Función para validar cantidad de piezas, aunque no es necesario
  35. {
  36.     unsigned short numero;                                                      //Variable donde se pide el número para después devolverlo y asignarlos a otra variable jojojojo
  37.    
  38.     do                                                                          //Ciclo de verificación o validación
  39.     {
  40.         scanf ("%hu",&numero);
  41.         getchar();
  42.     } while ((numero<minimo)||(numero>maximo));
  43.    
  44.     return numero;                                                              //Cuando cumpla con la condición, lo retornamos
  45. }                                                                               // Fin función
  46.  
  47. void RellenarVector (int *vector, unsigned short largo)                         //Función para rellenar el vector
  48. {
  49.     unsigned short j;                                                           //variable para recorrer for's
  50.    
  51.     for (j=0;j<(largo-1);j++)                                                   //Ciclo donde rellenamos el vector
  52.     {
  53.         scanf ("%d",&vector[j]);                                                //Se pide el número de la casilla J'esima
  54.     }
  55. }                                                                               // Fin función
  56.  
  57. int buscar(unsigned short x, int vector[10001], unsigned short largo)           //Función donde buscamos el número que se nos pide en un vector dado 
  58. {
  59.     unsigned short i,prueba;                                                    // "I" variable para recorrer, y "prueba" variable para, cuando termine la función, retornar con
  60.                                                                                 // el valor donde confirma si está o no
  61.     for (i=0;i<(largo-1);i++)                                                   //Ciclo donde se buscar el número X en el vector dado
  62.     {
  63.         if (x==vector[i])                                                       //Si lo encuentra devuelve un 1, en razón a que sí está.
  64.         {
  65.             prueba=1;
  66.             return prueba;
  67.         }
  68.         prueba=0;                                                               //Si termina el ciclo y no está, se asigna 0, para decir que no está
  69.     }
  70.    
  71.     return prueba;                                                              // este return es solo en caso de que no esté el número.
  72. }                                                                               // Fin función
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement