• Lunes 23 de Diciembre de 2024, 18:24

Autor Tema:  Chorrada  (Leído 3605 veces)

Trena

  • Nuevo Miembro
  • *
  • Mensajes: 20
    • Ver Perfil
Chorrada
« en: Jueves 16 de Noviembre de 2006, 18:55 »
0
La cuestión es que tengo esta función, cuando compilo el cabrón del programa dice: "Function should returns a value". Y lo que me jode es que si que devuelve el mínimo, no se el motivo por el que aparece este mensaje si por las pruebas que he hecho sí que devuelve un valor. Agradezco la ayuda que me imagino que será o muy fácil o inexplicable.  :alien:

long  TEditor::minimo3(long a, long b, long c)
{
        if(a<b && a<c)  return(a);
        if(b<a && b<c)  return(b );
        if(c<a && c<b)  return( c);
}

tonilope

  • Miembro activo
  • **
  • Mensajes: 51
    • Ver Perfil
Re: Chorrada
« Respuesta #1 en: Jueves 16 de Noviembre de 2006, 18:59 »
0
¿Y si alguno de los números es igual a otro qué devuelve?

Salu2 ;)

Trena

  • Nuevo Miembro
  • *
  • Mensajes: 20
    • Ver Perfil
Re: Chorrada
« Respuesta #2 en: Jueves 16 de Noviembre de 2006, 19:03 »
0
Pero no creo que por eso diga lo de "Function should returns a value"

Eternal Idol

  • Moderador
  • ******
  • Mensajes: 4696
  • Nacionalidad: ar
    • Ver Perfil
Re: Chorrada
« Respuesta #3 en: Jueves 16 de Noviembre de 2006, 19:17 »
0
¿No? ¿Y que devuelve tu funcion si a es 1, b es 1 y c es 70?

Nacional y Popular En mi país la bandera de Eva es inmortal.


Queremos una Argentina socialmente justa, económicamente libre y  políticamente soberana.
¡Perón cumple, Evita dignifica!


La mano invisible del mercado me robo la billetera.

Trena

  • Nuevo Miembro
  • *
  • Mensajes: 20
    • Ver Perfil
Re: Chorrada
« Respuesta #4 en: Jueves 16 de Noviembre de 2006, 19:21 »
0
Pues ya lo he arreglado y sigue saliendo lo mismo.
long  TEditorSonido::minimo3(long a, long b, long c)
{
        if(a<b && a<c)  return(a);
        if(a==b && a<c) return(a);
        if(a==c && a<b) return(a);
        if(b<a && b<c)  return( b );
        if(b==a && b<c) return( b );
        if(b==c && b<a) return( b );
        if(c<a && c<b)  return( c );
        if(c==a && c<b) return( c );
        if(c==b && c<a) return( c );
}
WARNING
"Funtion should a return a value"

pabloreda

  • Miembro MUY activo
  • ***
  • Mensajes: 125
    • Ver Perfil
    • http://www.reda4.org
Re: Chorrada
« Respuesta #5 en: Jueves 16 de Noviembre de 2006, 20:22 »
0
pone un return al final....si queres con -1 o 0

Eternal Idol

  • Moderador
  • ******
  • Mensajes: 4696
  • Nacionalidad: ar
    • Ver Perfil
Re: Chorrada
« Respuesta #6 en: Jueves 16 de Noviembre de 2006, 21:02 »
0
Juaz, si pone return 35; en vez de cubrir todos los posibles casos como por ejemplo que a, b y c tengan el mismo valor. Esa es una verdadera optimizacion, si no sabemos cual es el numero menor de los tres devolvemos 35 (o 0 o -1, total).

Trena: tenes que cubrir TODAS las posibilidades o tambien podes acortar camino y usar
el macro min (cuidado con los efectos secundarios) o codificarlo:

Código: Text
  1.  
  2. long minimo3(long a, long b, long c)
  3. {
  4.   return min(min(a, b), c);
  5. }
  6.  
  7.  

Nacional y Popular En mi país la bandera de Eva es inmortal.


Queremos una Argentina socialmente justa, económicamente libre y  políticamente soberana.
¡Perón cumple, Evita dignifica!


La mano invisible del mercado me robo la billetera.

lencho

  • Miembro de PLATA
  • *****
  • Mensajes: 1076
    • Ver Perfil
Re: Chorrada
« Respuesta #7 en: Viernes 17 de Noviembre de 2006, 00:44 »
0
Citar
CODE

long minimo3(long a, long b, long c)
{
      return min(min(a,   b  ), c);
}
Código: Text
  1.  
  2. long min(long a , long b){
  3.    long res
  4.       if (a &#60; b )
  5.            RES=A
  6.       ELSE
  7.            RES=B
  8.  
  9. return res;
  10. }
  11.  

BYTE.
______________________________________________________________________________________
"No estoy de acuerdo con lo que dices, pero defenderé con mi vida tu derecho a expresarlo"

Eternal Idol

  • Moderador
  • ******
  • Mensajes: 4696
  • Nacionalidad: ar
    • Ver Perfil
Re: Chorrada
« Respuesta #8 en: Viernes 17 de Noviembre de 2006, 14:37 »
0
Cita de: "lencho"
Código: Text
  1.  
  2. long min(long a , long b){
  3.    long res
  4.       if (a &#60; b )
  5.            RES=A
  6.       ELSE
  7.            RES=B
  8.  
  9. return res;
  10. }
  11.  
¿Intentaste compilar eso? Pocas veces debo haber visto al compilador mostrar tantos errores por tan pocas lineas de codigo ...

C y C++ son lenguajes case sensitive y sus instrucciones terminan con ; ...

Código: Text
  1.  
  2. long min(long a, long b)
  3. {
  4.   return a &#60; b ? a : b;
  5. }
  6.  
  7.  

Nacional y Popular En mi país la bandera de Eva es inmortal.


Queremos una Argentina socialmente justa, económicamente libre y  políticamente soberana.
¡Perón cumple, Evita dignifica!


La mano invisible del mercado me robo la billetera.

lencho

  • Miembro de PLATA
  • *****
  • Mensajes: 1076
    • Ver Perfil
Re: Chorrada
« Respuesta #9 en: Viernes 17 de Noviembre de 2006, 15:06 »
0
Citar
¿Intentaste compilar eso? Pocas veces debo haber visto al compilador mostrar tantos errores por tan pocas lineas de codigo ...

C y C++ son lenguajes case sensitive y sus instrucciones terminan con ; ...

No, No intente compilarlo, por que no tengo ningun compilador
A buen entendedor, pocas palabras.
Segun se, la finalidad del foro NO es hacer tareas (ni entregarlo todo sin que le cueste ni siquiera un segundo al del problema en ver que le faltan ;).

En mi caso creo que son mas de 4 años que no programo en c, y se me habra olvidado.

Al fin de cuentas, yo creo que le sirvio al necesitado, y no asi a los que no lo necesitaban.

BYTE.
______________________________________________________________________________________
"No estoy de acuerdo con lo que dices, pero defenderé con mi vida tu derecho a expresarlo"

Trena

  • Nuevo Miembro
  • *
  • Mensajes: 20
    • Ver Perfil
Re: Chorrada
« Respuesta #10 en: Viernes 17 de Noviembre de 2006, 15:45 »
0
Muchas gracias Ethernal Idol y pabloreda, me habeis solucionado el problema.
Y "0" gracias al que puso el código como le salió de las pelotas y encima dice que el foro es para dar ideas no para ayudar. Joer si uno tiene un fallo de compilación y metes de un lenguaje de programación cualquier cosa, pues vaya ayuda.  :comp:

lencho

  • Miembro de PLATA
  • *****
  • Mensajes: 1076
    • Ver Perfil
Re: Chorrada
« Respuesta #11 en: Sábado 18 de Noviembre de 2006, 16:14 »
0
Yo creo que no es necesario ser tan duro para poder decir eso, al fin y a cabo uno se puede equivocar.

BYTE.
______________________________________________________________________________________
"No estoy de acuerdo con lo que dices, pero defenderé con mi vida tu derecho a expresarlo"

Mollense

  • Miembro de PLATA
  • *****
  • Mensajes: 1755
  • Nacionalidad: ar
    • Ver Perfil
    • http://solocodigo.com/
Re: Chorrada
« Respuesta #12 en: Sábado 18 de Noviembre de 2006, 16:32 »
0
No quiero hacer flood pero creo que lencho siempre trata de ayudar.
"Los que renuncian son más numerosos que los que fracasan" H.F.
"No se cómo sería la III Guerra Mundial, pero la cuarta sería con piedras" A.E.
"Quién no fía no es de fiar..."


...no te quedes mirando.

Anonymous

  • Visitante
Re: Chorrada
« Respuesta #13 en: Lunes 20 de Noviembre de 2006, 21:40 »
0
Cita de: "Trena"
La cuestión es que tengo esta función, cuando compilo el cabrón del programa dice: "Function should returns a value". Y lo que me jode es que si que devuelve el mínimo, no se el motivo por el que aparece este mensaje si por las pruebas que he hecho sí que devuelve un valor. Agradezco la ayuda que me imagino que será o muy fácil o inexplicable.  :alien:

long  TEditor::minimo3(long a, long b, long c)
{
        if(a<b && a<c)  return(a);
        if(b<a && b<c)  return(b );
        if(c<a && c<b)  return( c);
}

 Seguro que lo que te da es un warning lo cual no es un error sino una alvertencia. De todas formas para resolver el problema pon un solo return al final de la función y en las tres sentencias "if"  almacena el mínimo.   O sea, así:

long  TEditor::minimo3(long a, long b, long c)
{
    long minimo=a;
 
        if(b<a && b<c)  minimo=b;
        if(c<a && c<b)  minimo=c;

   
   return minimo ;

// quite una setencia if porque inicializando minimo=a no es necesaria.
}

 :hola:

JuanK

  • Miembro de ORO
  • ******
  • Mensajes: 5393
  • Nacionalidad: co
    • Ver Perfil
    • http://juank.io
Re: Chorrada
« Respuesta #14 en: Lunes 20 de Noviembre de 2006, 21:59 »
0
Cita de: "Trena"
Muchas gracias Ethernal Idol y pabloreda, me habeis solucionado el problema.
Y "0" gracias al que puso el código como le salió de las pelotas y encima dice que el foro es para dar ideas no para ayudar. Joer si uno tiene un fallo de compilación y metes de un lenguaje de programación cualquier cosa, pues vaya ayuda.  :comp:
lencho no tiene la culpa de que no tengas idea acerca de las cosas mas básicas de programar... si lo hizo asi es porque escasamente tuvo tiempo para  ayudarte o por lo que sea y aun asi lo hizo para ayudarte...

Ante todo hay que agradecer, el código de lencho arrojaba errores y no hacia basta compilar nada para saberlo, pues es solo un código de ejemplo, la ayuda no debe venir necesariamente en el lenguaje que tu uses, era de suponerce que eras capaz de entender el ejemplo de lencho y sino era asi podias haber preguntado en lugar de reclamarle...


Es decir , según tú, lencho te ayudo y a la final entonces te salio debiendo un favor a ti...  :angry:  &lt;_&lt;  :lightsabre:
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io

F_Tanori

  • Moderador
  • ******
  • Mensajes: 1919
  • Nacionalidad: mx
    • Ver Perfil
Re: Chorrada
« Respuesta #15 en: Martes 21 de Noviembre de 2006, 01:26 »
0
Tampoco quiero 'pecar' de entrometido creo que este post esta concluido pero tambien creo que lencho no solo intento ayudar, lo hizo, porque tambien como lo dijo Juank, por mas novato que se sea cualquier persona que ha escrito una sola linea en C sabe que es case sencitive, pero creo que la logica es correcta y es universal; cuando un usuario ayuda no se mide por el numero de mensajes sino por la calidad o aportes de los mismos basta explorar un poco y creo que lencho es buen elemento :good:


En ese codigo se ve que fue la prisa y al darle tab para la sangria activo el Caps Look de teclado, y en lugar de volver a escribirlo lo envio asi, no soy perito, pero me ha pasado miles de veces...:P


Este es un comentario fuera de la duda principal, pero sigo pensando que por algo se llaman foros de discucion,


Saludos a todos  :smartass:
" ExIsTo y A vEcEs PiEnSo "

NOTA:
===========================================================================================================================
Este foro es para ayudar, aprender, compartir... usenlo para eso,
NO SE RESUELVEN DUDAS POR MENSAJE PRIVADO Y MENOS POR CORREO
===========================================================================================================================