Solución ejercicio nº 3

Vamos a dividir en 2 partes la resolución del ejercicio, ya que primero se explicará la función y luego el resto del código del "main". 

La función Maximo10 es la siguiente:

32-1

 

La cabecera de la función ya la había facilitado en el enunciado del ejercicio.

Veamos la programación de la función en si. 

Simplemente se trata de poner una condición, si "n" es mayor que 0 y "n" es menor o igual que 10. Se utiliza el operador "&&" para poner las dos condiciones juntas, ya que se tienen que cumplir ambas para que se ejecute el if. 

Si la condición se cumple, se devolverá el valor de "n" (que es el número que introdujo el usuario, y será correcto porque la condición nos indica que está entre el 1 y el 10).

Si no es así se devolverá un 0, para que sepamos que el valor es incorrecto.

 

Bien, ahora veamos el resto del código del programa. 

32-2

 

Lo primero es crear la variable de "longitud_array". Pedimos al usuario que introduzca un número y guardamos ese valor en dicha variable. A partir de ahí empiezan las comprobaciones. 

Pondremos un "if" para saber si la función de Maximo10 me devuelve un 0 o no. Si es distinto de 0, es que el número que ha introducido el usuario es correcto y está entre el 1 y el 10. Si no, hemos puesto un "else" a ese "if", que te muestra un mensaje por pantalla diciendo que la longitud del array no está entre 1 y 10, y acabaría el programa. 

En caso de que sea correcto, creamos el array con la dimensión dada por el usuario: 

int numeros[longitud_array]; y luego, tenemos que rellenar ese array con valores del 1 hasta el número dado.

Así pues, necesitamos un bucle for. La condición será que se ejecute mientras "i" sea menor que "longitud_array". De esta forma hacemos que se ejecute tantas veces como índices tenga el array, que es lo que nos interesa. 

Y dentro del bucle lo que haremos es rellenar ese índice del array con un valor y luego mostrarlo por pantalla:

numeros[i] = i+1; //asignamos valor
printf("Numero %i del array: %i\n", i+1, numeros[i]); //mostrarlo
 
numeros[i] irá desde 0 hasta longitud_array. Le asignamos el valor de "i + 1" para que empiece a dar valores a partir del 1 en vez de a partir del 0, esto es simplemente por cuestión de estética; si queréis le podéis dar simplemente el valor de "i". Y el printf nos muestra por pantalla el valor de dicho índice.
 
Como mejora para el programa estaría bien que si el usuario introduce un valor que no está comprendido entre el 1 y el 10 te vuelva a pedir el número siempre, hasta que el usuario introduzca un número correcto (esto ya hemos visto como hacerlo anteriormente). Lo dejo como mejora para que podáis practicar por vosotros mismos y así aprenderéis más.
 
Aquí adjunto el código del programa completo para que lo estudiéis mejor y lo trasteéis. 
 
¿Te gustó? Pues comparte ;-)
Conoce al autor

Daniel Pozo Chichon

Técnico en Desarrollo de Aplicaciones Informáticas (Grado superior)

Este sitio usa cookies para personalizar el contenido y los anuncios, ofrecer funciones de redes sociales y analizar el tráfico. Ninguna cookie será instalada a menos que se desplace exprésamente más de 600px. Leer nuestra Política de Privacidad y Política de Cookies. Las acepto | No quiero aprender cursos gratis. Sácame