FRASE EN C

Resuelto
Coucou1504 Mensajes publicados 56 Fecha de registro   Estado Miembro Última intervención   -  
Coucou1504 Mensajes publicados 56 Fecha de registro   Estado Miembro Última intervención   -
Hola,
Tengo que escribir un programa que devuelve el resultado en forma de fracción el producto de fracciones. Consigo obtener un resultado pero no en fracción. ¿Cómo obtener un resultado en fracción??
Gracias de antemano
Configuración: Windows Vista Internet Explorer 7.0

6 respuestas

Mahmah Mensajes publicados 497 Estado Miembro 125
 
¿Puremente para mostrar, entonces?

 printf( "%d / %d\n", numerateur, denominateur ); 

23 / 11

para una visualización "bonita" hay que obtener el número de caracteres que se necesitan para escribir cada número (log 10 del número) para determinar el número de espacios a insertar delante del menor de los dos para que estén alineados y también para saber el número de caracteres a poner para dibujar la barra de la fracción.
 3 ---- 27 


M.
1
Mahmah Mensajes publicados 497 Estado Miembro 125
 
Hola,

No hay fracción en C. Lo máximo son números con coma decimal, pero no es la alegría para encontrar la fracción. (de hecho, se hace no tan mal, pero bueno...) Lo ideal es manejar uno mismo dos enteros, para el numerador y el denominador.

(Siempre que ese sea también tu formato de entrada de tus datos)

M.
0
Coucou1504 Mensajes publicados 56 Fecha de registro   Estado Miembro Última intervención   3
 
gracias por haberme respondido, pero ¿cómo puedo hacer para simplificar una fracción, porque en mi enunciado también me piden simplificar una fracción? Por ahora solo eso, esa “pequeña” cosa me molesta!!!
gracias de antemano
0
Mahmah Mensajes publicados 497 Estado Miembro 125
 
Ah, y bueno... como en las matemáticas...

18 / 6 = 3 / 1 porque

18 = 2 * 3 * 3 y
6 = 2 * 3

En resumen, descomponemos cada uno en producto de factores primos y eliminamos en partes iguales los factores comunes.

1024 / 96

1024 = 2^10
96 = 2^5 * 3

entonces 1024 / 96 = 2^(10-5) * 3^(0-1) = 32 / 3

Hay que crear dos tablas cuyo índice represente el i-ésimo número primo y el valor su potencia en la descomposición del número.

Señor.

O bien fuerza bruta, mientras los dos sean divisibles por un entero, los divides, cuando ya no lo sean pruebas con el entero siguiente hasta que este entero sea menor que la raíz (o la mitad...) del menor de los dos números.
0
Coucou1504 Mensajes publicados 56 Fecha de registro   Estado Miembro Última intervención   3
 
Sobre eso estoy de acuerdo, pero lo que me gustaría saber es cómo hacer para mostrar en C mi resultado en fracción!!!
¡Gracias por tu ayuda!!!
0
Coucou1504 Mensajes publicados 56 Fecha de registro   Estado Miembro Última intervención   3
 
gracias, respondiste a mi pregunta, es justo lo que quería saber, no es una tontería esta solución y tiene lógica
aún así gracias
buenas noches!!
0