| 
	
		|  Autor | Tema: Entero por coma flotante  (Leído 3,577 veces) |  
	| 
			| 
					
						| psycho248 
								
								 Desconectado 
								Mensajes: 11
								
								
								
								
								
								   | 
 
Alguien sabe por que me imprime 4.00000 en lugar de 4.50000??? #include<stdio.h> int multiplicador(int p, float t); int main(){int a=3;float b,c;b=1.5;c=0; c=multiplicador(a,b); printf("El valor de b es %f\n",c); return 0; } int multiplicador(int p, float t){float prod=0; prod = p*t; return prod; }  
     
 
 |  
						| 
								|  |  
								| « Última modificación: 15 Mayo 2014, 03:02 am por psycho248 » |  En línea | 
 
 |  |  |  | 
			| 
					
						| engel lex | 
 
tu compilador no dio ninguna alerta? en la declaracion de tu función 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 
								Mensajes: 11
								
								
								
								
								
								   | 
 
OK, OK. Ese fue un mal ejemplo     Mi verdadero problema es este:  int Recursivo(int v[],int i, float N, float p); int main(){float n=6;float m=0;int v[6]={4,5,2,7,8,1}; m=Recursivo(v,0,n,m); printf("El valor de m es: %f\n",m); return 0;} int Recursivo(int v[], int i, float N, float p){ if(i<N)  {   p=p+v[i];    p=Recursivo(v,i+1,N,p);  }else{   p=p/N;    return p;  }}  
 Donde no puedo poner la función como float. Será que no puedo retornar el número en flotante????? |  
						| 
								|  |  
								|  |  En línea | 
 
 |  |  |  | 
			| 
					
						| rir3760 
								       
								
								 Desconectado 
								Mensajes: 1.639
								
								
								
								
								
								   | 
 
Para que la función retorne el resultado correcto debes cambiar su prototipo y definición indicando que su tipo de retorno es float: 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: float Recursivo(int v[], int i, float N, float p){   if (i<N){      p=p+v[i];      p=Recursivo(v,i+1,N,p);   }else      p=p/N;    return p;}
 O bien: float Recursivo(int v[], int i, float N, float p){   return (i < N) ? Recursivo(v, i + 1, N, p + v[i]) : p / N;}
 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 
								Mensajes: 11
								
								
								
								
								
								   | 
 
Ooooohhhh Muchas gracias por tu ayuda amigo        |  
						| 
								|  |  
								|  |  En línea | 
 
 |  |  |  |  |  
 
	
 
 
				
					
						| Mensajes similares |  
						|  | Asunto | Iniciado por | Respuestas | Vistas | Último mensaje |  
						|   |   | operaciones con numero de coma flotante Java
 | tobu | 3 | 5,559 |  26 Marzo 2009, 14:50 pm por juancho77
 |  
						|   |   | Ayuda operaciones con coma flotante. Programación Visual Basic
 | LS | 2 | 2,427 |  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,988 |  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 | 2,325 |  12 Octubre 2015, 22:07 pm por rx22
 |  
						|   |   | Invertir numero de coma flotante Programación C/C++
 | jaguirred | 5 | 4,156 |  26 Febrero 2017, 22:01 pm por engel lex
 |    |