elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Únete al Grupo Steam elhacker.NET


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Fallo y no se cual
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: Fallo y no se cual  (Leído 3,767 veces)
Choke1

Desconectado Desconectado

Mensajes: 38


Ver Perfil
Fallo y no se cual
« en: 4 Enero 2015, 14:58 pm »

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; 
         }       
     }       
}


En línea

avesudra


Desconectado Desconectado

Mensajes: 724


Intentando ser mejor cada día :)


Ver Perfil
Re: Fallo y no se cual
« Respuesta #1 en: 4 Enero 2015, 15:59 pm »

No somos adivinos, ¿qué pasa concretamente? Para publicar código colócalo entre las etiquetas GeSHi para que te quede tal que así:
Código
  1. int multiplos(int min,int max,int num){
  2.   int i;
  3.   for(i = min; i < max; i++){
  4.      if(num % i == 0){
  5.         return i;
  6.         }      
  7.     }      
  8. }
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.


En línea

Regístrate en
rir3760


Desconectado Desconectado

Mensajes: 1.639


Ver Perfil
Re: Fallo y no se cual
« Respuesta #2 en: 4 Enero 2015, 16:05 pm »

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):
Código
  1. int multiplos(int min,int max,int num)
  2. {
  3.   int i;
  4.  
  5.   for (i = min; i < max; i++){
  6.      if (num % i == 0){
  7.         return i; /* Valor de retorno si se cumple la condicion */
  8.      }
  9.   }
  10.  
  11.   /* Aqui se debe indicar el valor de retorno en caso de no terminar la funcion en el bucle */
  12. }

Un saludo
En línea

C retains the basic philosophy that programmers know what they are doing; it only requires that they state their intentions explicitly.
--
Kernighan & Ritchie, The C programming language
Choke1

Desconectado Desconectado

Mensajes: 38


Ver Perfil
Re: Fallo y no se cual
« Respuesta #3 en: 4 Enero 2015, 17:35 pm »

Nada tampoco mira:

http://subefotos.com/ver/?a93318f16842cd2769ed853af53d62ddo.png#codigos
En línea

engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: Fallo y no se cual
« Respuesta #4 en: 4 Enero 2015, 17:37 pm »

tu programa tiene main y tiene el prototipo de la funcion antes que el main?
En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
Choke1

Desconectado Desconectado

Mensajes: 38


Ver Perfil
Re: Fallo y no se cual
« Respuesta #5 en: 4 Enero 2015, 17:45 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);
En línea

engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: Fallo y no se cual
« Respuesta #6 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

Código
  1. int multiplos(int min,int max,int num);
En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
OnTheCore

Desconectado Desconectado

Mensajes: 10


Ver Perfil
Re: Fallo y no se cual
« Respuesta #7 en: 4 Enero 2015, 20:28 pm »

el prototipo debe ser idéntico a la definición de la función, el prototipo debe ser

Código
  1. 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.
« Última modificación: 4 Enero 2015, 20:31 pm por OnTheCore » En línea

Choke1

Desconectado Desconectado

Mensajes: 38


Ver Perfil
Re: Fallo y no se cual
« Respuesta #8 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
En línea

OnTheCore

Desconectado Desconectado

Mensajes: 10


Ver Perfil
Re: Fallo y no se cual
« Respuesta #9 en: 5 Enero 2015, 02:06 am »

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.
En línea

Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Cuál es el motivo por el cual la gente colabora en proyetos libres ? « 1 2 3 »
Foro Libre
Override 25 8,710 Último mensaje 23 Diciembre 2010, 23:13 pm
por portaro
Edward Snowden ¿Prision o Libertad? ¿Cual es tu opinion? ¿Cual es tu voto? « 1 2 ... 8 9 »
Foro Libre
traviatØ 88 25,103 Último mensaje 24 Julio 2013, 22:59 pm
por NXS
Cual es el fallo de este ordenador?
Hardware
RainSix 8 2,702 Último mensaje 9 Mayo 2019, 14:55 pm
por hck3791
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines