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

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Entero por coma flotante
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Entero por coma flotante  (Leído 2,933 veces)
psycho248

Desconectado Desconectado

Mensajes: 11


Ver Perfil
Entero por coma flotante
« en: 14 Mayo 2014, 23:55 pm »

Alguien sabe por que me imprime 4.00000 en lugar de 4.50000???

Código
  1. #include<stdio.h>
  2.  
  3. int multiplicador(int p, float t);
  4.  
  5. int main()
  6. {
  7. int a=3;
  8. float b,c;
  9. b=1.5;
  10. c=0;
  11.  
  12. c=multiplicador(a,b);
  13.  
  14. printf("El valor de b es %f\n",c);
  15.  
  16. return 0;
  17.  
  18. }
  19.  
  20. int multiplicador(int p, float t)
  21. {
  22. float prod=0;
  23.  
  24. prod = p*t;
  25.  
  26. return prod;
  27.  
  28. }
  29.  
  30.  


 :huh: :huh: :huh:


« Última modificación: 15 Mayo 2014, 03:02 am por psycho248 » En línea

engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: Entero por coma flotante
« Respuesta #1 en: 15 Mayo 2014, 00:39 am »

tu compilador no dio ninguna alerta?

en la declaracion de tu función
Código:
int multiplicador(int p, float t);

si es un int, no puede retornar un float


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.
psycho248

Desconectado Desconectado

Mensajes: 11


Ver Perfil
Re: Entero por coma flotante
« Respuesta #2 en: 15 Mayo 2014, 03:19 am »

OK, OK. Ese fue un mal ejemplo  :P
Mi verdadero problema es este:

Código
  1. int Recursivo(int v[],int i, float N, float p);
  2.  
  3. int main()
  4. {
  5. float n=6;
  6. float m=0;
  7. int v[6]={4,5,2,7,8,1};
  8.  
  9. m=Recursivo(v,0,n,m);
  10. printf("El valor de m es: %f\n",m);
  11.  
  12. return 0;
  13. }
  14.  
  15. int Recursivo(int v[], int i, float N, float p)
  16. {
  17. if(i<N)
  18.  {
  19.   p=p+v[i];
  20.  
  21.   p=Recursivo(v,i+1,N,p);
  22.  }else{
  23.   p=p/N;
  24.  
  25.   return p;
  26.  }
  27. }
  28.  
  29.  

Donde no puedo poner la función como float.
Será que no puedo retornar el número en flotante?????
En línea

rir3760


Desconectado Desconectado

Mensajes: 1.639


Ver Perfil
Re: Entero por coma flotante
« Respuesta #3 en: 15 Mayo 2014, 04:22 am »

Para que la función retorne el resultado correcto debes cambiar su prototipo y definición indicando que su tipo de retorno es float:
Código
  1. float Recursivo(int v[],int i, float N, float p);

También debes cambiar el cuerpo de la función (ya que solo retorna un valor en una de las ramas de ejecución) a:
Código
  1. float Recursivo(int v[], int i, float N, float p)
  2. {
  3.   if (i<N){
  4.      p=p+v[i];
  5.      p=Recursivo(v,i+1,N,p);
  6.   }else
  7.      p=p/N;
  8.  
  9.   return p;
  10. }

O bien:
Código
  1. float Recursivo(int v[], int i, float N, float p)
  2. {
  3.   return (i < N) ? Recursivo(v, i + 1, N, p + v[i]) : p / N;
  4. }

Por ultimo si tienes alguna duda o problema con un programa en C/C++ utiliza el foro Programación C/C++.

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
psycho248

Desconectado Desconectado

Mensajes: 11


Ver Perfil
Re: Entero por coma flotante
« Respuesta #4 en: 15 Mayo 2014, 05:50 am »

Ooooohhhh
Muchas gracias por tu ayuda amigo  ;-) ;-) ;-)
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
operaciones con numero de coma flotante
Java
tobu 3 5,253 Último mensaje 26 Marzo 2009, 14:50 pm
por juancho77
Ayuda operaciones con coma flotante.
Programación Visual Basic
LS 2 2,212 Último mensaje 10 Mayo 2010, 07:33 am
por LS
Programa para pasar de numero decimal a coma flotante
Programación C/C++
sora_ori 7 9,335 Último mensaje 5 Abril 2013, 19:15 pm
por leosansan
ayuda codigo para pasar de decimal a coma flotante iee 754
Programación C/C++
rx22 0 1,883 Último mensaje 12 Octubre 2015, 22:07 pm
por rx22
Invertir numero de coma flotante
Programación C/C++
jaguirred 5 3,553 Último mensaje 26 Febrero 2017, 22:01 pm
por engel lex
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines