• Jueves 14 de Noviembre de 2024, 16:45

Autor Tema:  Fracciones  (Leído 2109 veces)

Miguelencho

  • Miembro activo
  • **
  • Mensajes: 53
    • Ver Perfil
Fracciones
« en: Martes 4 de Mayo de 2004, 14:43 »
0
como podria imprimir una division entera pero en fracciones o sea si la division es -2/-6 que me imprima 1/3, diganme si alguna funcion y en que libreria esta por favor...y graciassssssss!!!!
"The difference between the dreams and the accomplishment, is pure desire"

The Black Boy

  • Miembro de PLATA
  • *****
  • Mensajes: 1043
  • Nacionalidad: co
    • Ver Perfil
    • http://www.mslatam.com/latam/technet/mva2/Microsite.aspx?alias=JairoDiaz
Re: Fracciones
« Respuesta #1 en: Martes 4 de Mayo de 2004, 16:46 »
0
bueno, yo la verdad no conozco ninguna funcion que haga tal cosa, yo te acosejo que hagas la funcion

igual no es tan complicada..


Saludos :good:
El inteligente no es aquel que lo sabe todo
sino aquel que   sabe utilizar lo poco que sabe.


Espacio Personal

si necesitas algo de programacion click aqui, si no esta aqui no existe

Programacion]

darko

  • Nuevo Miembro
  • *
  • Mensajes: 20
    • Ver Perfil
Re: Fracciones
« Respuesta #2 en: Sábado 8 de Mayo de 2004, 15:55 »
0
Yo tampoco se de ninguna funcion ya implementada que haga eso, pero se me ocurren muchas maneras de hacerlo.
Por ejemplo para la division -2/-6. Si pillas un contador y lo vas incrementando y haciendo la division si el resto de la division contador entre el dividendo y el divisor sea cero y seguir incrementando la variable contador, ya lo tendrias.

C++ BorlFJ

  • Miembro activo
  • **
  • Mensajes: 52
    • Ver Perfil
    • http://www.grafmarc.com.ve/info_lenguajes
Re: Fracciones
« Respuesta #3 en: Miércoles 19 de Mayo de 2004, 00:02 »
0
bueno men aqui void agarrese

es muy sencillo de ver echandole codigo pero si se decide lo puedes hacer en un función o compilando ... bueno no es el caso.

nota: es bueno que cambies las variables a y b globales (si las tienes) por otras

el caso o los casos son los siguientes:
/************* teniendo una entrada *********************/

se tiene que tomar en cuenta esta condición que de ella derivarán las demás

 si (a < 0) y (b<0) entonces
                                         procesa la división normal ok ((ir a ve*))
RMOVE
                             si no
RVDIR
                              (*es por que son mayores. por lo tanto se procesa la  
operación normalmente*)


ojo(en caso de esta sola condisión).

(ver *): en el caso del proceso de la división en la primera alternativa se debe tomar en cuenta:

      que si a y b son menores que 0 quiere decir que son negativos, no!:

por consiguiente...
                         para todo C=-a/-b quedaría C=a/b}ojo para todo a y b negativos

nota (en caso de condiciones desiguales deberías tomar en cuenta lógicas variadas me entiendes, que para cada condición hagas un proceso diferente)

sigo..
analizar por factor derivado, es decir, simplificar los números a y b (para ello lo más optimo es una función que te analice a y b y luego pasar el valor al procedimiento o función en donde está el proceso)

ojo toma en cuenta que a es condición necesaria y cuidado sino obligatoria de b y b de a. en qué sentido. bueno. que una división simplificada no puede ser simplificada (valga la redundancia) siempre y cuando no se cumpla que b es divisor de a o viceversa... entendido!!

para ello debe existir otra función que aprecie ello con el fin de que no se dé la división resultado de 1/3(caso ejemplo) que equivale a 0.33333... ok. sino que devido a (mod=cont2), llegues, a la conclusión o llegue el programa a la conclusiónde que si

                                num mod cont = cont2(por ejemplo)

esto explica claramente que el numerador como también el denominador (Numb) va a ser comparado por contadores que van a simular una prueba o chequeo de divisores y restos de la división.

de todas formas que quede claro que a es condición suficiente y necesaria de b y b de a, en este tipo de caso de división.

sería muy bueno que evalues eso con lapiz y papel men jejejejeje

cualquier cosa mandame er mensaje men si lo entendistes o no tengo ese problema ultimamente jejejejeje

 :whistling:  :kicking:
C++ BorlFJ
La Fuente de la vida es querer hacer las cosas como son
JC Vermudez

C++ BorlFJ

  • Miembro activo
  • **
  • Mensajes: 52
    • Ver Perfil
    • http://www.grafmarc.com.ve/info_lenguajes
Re: Fracciones
« Respuesta #4 en: Jueves 20 de Mayo de 2004, 03:12 »
0
hey mucho mejor
no eh dejado de pensar en el problema mirá este análisis que le hice espero que entienda matemáticas eh:

sea;  
Citar
 
                             C=a/b   

CONDICIÓN o CONDICIONES

1)                    si       b <> 0

                                    procesa    a>0 y b>0 ==> C>0
                                    procesa    a<0 y b<0 ==> C>0
                                    procesa    a<0 y b>0 ==> C<0
                                    procesa    a>0 y b<0 ==> C<0
                                   
1°ER Caso a<b si ===>

                                       b/a Exacta!! si ---->     a / a = d
                                                                         b / a = e "escribir"

                                        el hecho es que se tiene que

                                    a / b = d / e


ok men esa es para la primera condición nos vemos luego te mando la del 2DO caso es que me tengo que ir no dispongo de tiempo suficiente
chauuuuuuuuuuuuuuuuuuuuu
saludos!!
 :whistling:  :kicking:

   

ah y aquellos que vean mi análisis y tenga unas cositas en particular que corregir las acepto con muchio gusto tomaré la observación chauuuuuuuuuuuuuuuuu

 :blink:
La Fuente de la vida es querer hacer las cosas como son
JC Vermudez

Ruben3d

  • Miembro HIPER activo
  • ****
  • Mensajes: 710
  • Nacionalidad: es
    • Ver Perfil
    • Web personal
Re: Fracciones
« Respuesta #5 en: Jueves 20 de Mayo de 2004, 13:51 »
0
Hola.

Lo que C++ BorlFJ te está tratando de explicar parece el Algoritmo de Euclides, que se usa para obtener el Máximo Común Divisor de dos números. Cuando obtengas el MCD no tienes más que dividir por él tanto numerador como denominador y tendrás la fracción simplificada (si el MCD resulta ser 1 es que no se puede simplificar, con lo cual no cambiarán).

En esta web viene explicado bastante más simple, con código de ejemplo:
Algoritmo de Euclides

Un saludo.

Ruben3d

Comstock

  • Nuevo Miembro
  • *
  • Mensajes: 6
    • Ver Perfil
Re: Fracciones
« Respuesta #6 en: Lunes 24 de Mayo de 2004, 19:31 »
0
/*
Segun lo que entendi de la pregunta quizas esto te pueda ser de alguna ayuida sino solo hazlo saber y veremos que se hace

*/
#include<stdio.h>
main()
{
int sim,may,min,i,a,b;
printf("Ingrese Dividendo");
scanf("%d",&a);
printf("\nIngrese Divisor");
scanf("%d",&b);//hasta aca solo pedir ingreso de divisor i dividendo
if(a%b==0)//verifica si el divisor no es multiplo del dividendo en este caso no tiene sentido
//entregar el resultado en forma de fraccion
printf("\nEl resultado de %d/%d es %d: ",a,b,a/b);//imprime el resultado si es exacto
else //entrada a la funcion que simplificara la fraccion
{
if (a<b)//el if y el else solo esta hecho con la funcion de ver cual elemento es el mayor y cual
//el menor esto para que el for no tenga q ralizar operaciones que esten demas ya que
//ningun numero se prodra simplificar por otro que sea mayor a si mismo
{
min=a;
may=b;
}
else
{
min=b;
may=a;
}
for(i=1;i<min;i++)
{//con este for se ve y se guardara el valor del mayor dividendo que tengan en comun ambos numeros
//es recomendable inicializarlo en 1 ya que siempre el 1 sera divisor exacto de cualquier numero
if(min%i==0 && may%i==0)
sim=i;
}
printf("\nEl resultado de %d/%d es %d/%d: ",a,b,(a/sim),(b/sim));
}
return 0;
}
/*bueno eso seria todo no se si te servira de algo pero es algo q realice algo
apurado en todo caso creo que deberia correr sin mayores problemas , esto en todo
caso no es algo muy profesional , si no te sirve o si necesitas otro formato de ingreso de
datos dilo en el foro y respondo otro dia Nos vemos*/