C/Visual C - parte decimal de una division

 
Vista:

parte decimal de una division

Publicado por Nelson A. Nelis Reyes (2 intervenciones) el 12/10/2000 00:00:00
Resulta que en pascal (y en otros lenguajes)
hay un comando que es el MOD, que almacena como entero la parte decimal de un numero.

ej : si digo "decimal=25 mod 2" la division da como resultado 12,5 pero "decimal vale 5".

Necesito encontrar algo asi en lenguaje C.
gracias...
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

¡AlgoRritmo!

Publicado por Fabián Sierra Carvaal (50 intervenciones) el 12/10/2000 00:00:00
Nelson, te envío una función muy simple que lo hace.

double parte_decimal(double dividendo, double divisor){
double retorno,resto,decimal, flotante;
int digito;
/*Obtengo el resto de la division*/
resto=fmod(dividendo,divisor);
/*Obtengo la parte decimal de la division*/
decimal=resto/dividendo;
/*Y ahora lo bueno*/
retorno=0;
while(decimal){
retorno*=10;
digito=(int) decimal * 10;
retorno+=digito;
flotante=(double) digito/ (double) 10;
decimal-=flotante;
decimal*=10,
}
return retorno;
}

¡Suerte!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:parte decimal de una division

Publicado por CaFcO (40 intervenciones) el 12/10/2000 00:00:00
Hola, hay una forma muy sencilla de obtener la parte decimal de un numero y es ocupando la funcion fmod

es la siguiente forma


float x;
float part_decimal;
x=20.5;

part_decimal=x fmod 10;

el resultado en part_decimal es 0.5

incluye la libreria math.h y ya estubo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:parte decimal de una division

Publicado por Pedro Pablo (37 intervenciones) el 14/10/2000 00:00:00
A lo mejor me meto donde no me llaman...
La función MOD de la que hablas no hace lo que tu dices, ¿no?. La función MOD da el RESTO de la división, no la parte decimal como parte entera. Es decir, para 11/2 no da 5, sino 1 (11/2 = (5*2) + 1 <<--Resto)

Vamos, por si acaso...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

RE:parte decimal de una division con mod

Publicado por Antonio Karam Mendoza. (12 intervenciones) el 28/12/2000 00:00:00
exactamente como se hace en pascal se hace en C pero el comando mod cambia por el simbolo %
ejemplo

decimal=15%2
15/2=7 y el modulo sería 1

printf("El modulo o la parte decimal es
%i ",decimal");


"Sigan programando que sigue creciendo el numero de USUARIOS..."
Saludos:
Antonio Karam
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar