Me da fallo en esta funcion pero no se cual es:
int multiplos(int min,int max,int num){
int i;
for(i=min;i<max;i++){
if(num%i==0){
return i;
}
}
}
No somos adivinos, ¿qué pasa concretamente? Para publicar código colócalo entre las etiquetas GeSHi para que te quede tal que así:
int multiplos(int min,int max,int num){
int i;
for(i = min; i < max; i++){
if(num % i == 0){
return i;
}
}
}
Aunque suponiendo que quieras averiguar todos los múltiplos debes devolver un array no el primer entero que sea múltiplo, no se si me explico.
Un saludo.
El mensaje de error se genera porque no indicas el valor de retorno si el numero a verificar no es múltiplo de ninguno de los números en el intervalo [min, max):
int multiplos(int min,int max,int num)
{
int i;
for (i = min; i < max; i++){
if (num % i == 0){
return i; /* Valor de retorno si se cumple la condicion */
}
}
/* Aqui se debe indicar el valor de retorno en caso de no terminar la funcion en el bucle */
}
Un saludo
Nada tampoco mira:
http://subefotos.com/ver/?a93318f16842cd2769ed853af53d62ddo.png#codigos
tu programa tiene main y tiene el prototipo de la funcion antes que el main?
Cita de: engel lex en 4 Enero 2015, 17:37 PM
tu programa tiene main y tiene el prototipo de la funcion antes que el main?
si el prototipo es este:
int multiplos (int,int,int);
el prototipo debe ser idéntico a la definición de la función, el prototipo debe ser
int multiplos(int min,int max,int num);
Cita de: engel lex en 4 Enero 2015, 17:46 PM
el prototipo debe ser idéntico a la definición de la función, el prototipo debe ser
int multiplos(int min,int max,int num);
No necesariamente, con declarar el tipo esta bien. El usuario lo declaro bien, pero claro, es mejor practica declararlo como vos lo hiciste.
EDITO: OP, fijate que retornas solo si num%i==0. Que pasa si nunca se cumple esa condicion? el valor de retorno va a ser inesperado. Pone un return al final que abarque el no cumplimiento de la condicion.
Solucione el fallo, me podéis insultar si queréis jeje, la cosa es que había definido una constante que se llamaba max y claro en la funcion ponia también max de nombre de una variable XD
Cita de: Choke1 en 4 Enero 2015, 22:32 PM
Solucione el fallo, me podéis insultar si queréis jeje, la cosa es que había definido una constante que se llamaba max y claro en la funcion ponia también max de nombre de una variable XD
Nadie va a insultarte porque son errores comunes de principiante y de eso se aprende. Mi consejo para la proxima vez, es que las constantes las escribas en mayusculas y las variables en minuscula.
Cita de: OnTheCore en 5 Enero 2015, 02:06 AM
Nadie va a insultarte porque son errores comunes de principiante y de eso se aprende. Mi consejo para la proxima vez, es que las constantes las escribas en mayusculas y las variables en minuscula.
Ok gracias lo tendre en cuenta