驴C贸mo dividir en c sin usar "/"?
Mi problema es que necesito hacer una funci贸n que me haga una divisi贸n pero no puedo utilizar el operador "/"? No se me ocurre como hacerlo, 驴a alguien se le ocurre?
salu2!
salu2!
Muy simple, usa * y multiplica...
Me explico:
Si haces una divicion 1/2 es igual que 1* 0.5, entonces puedes hacer una funcion que divida usando una multiplicacion equivalente.
Me explico:
Si haces una divicion 1/2 es igual que 1* 0.5, entonces puedes hacer una funcion que divida usando una multiplicacion equivalente.
Pero segun lo que tu dices, tendr铆a que hacer una funci贸n que multiplicase por la inversa en vez de dividir.
Es decir, si el usuario quiere dividir a entre b, seria a*1/b, pero como hago una funci贸n que multiplique a *1/b sin usar "/"???
Es decir, si el usuario quiere dividir a entre b, seria a*1/b, pero como hago una funci贸n que multiplique a *1/b sin usar "/"???
Hola, tal vez lo que necesitas es DIVIDIR el problema, por ejemplo el 9/3=3 podria ser igual a dividendo/divisor=resultado.
Bien aqui tenemos por as铆 decirlo el problema de la divici贸n en su definici贸n teorica, que es la que necesitas, por que el dividendo (9) es el numero que deseas dividir, el divisor (3) es el numero entre 茅l cual dividiras el dividendo y el resultado (3) es la cantidad de veces en que se divide el dividendo entre el divisor. Si me estoy equivocando en algo sobre esto o tienes alguna duda te toca investigar la definici贸n teorica de la divici贸n en un buen libro de matematicas.
Teniendo bien el concepto anterior viene el algoritmo de la funci贸n, con ayuda de tu ciclo favorito:
1.Resta del dividendo el divisor.
2.Aumenta en uno el contador.
3.Si el dividendo es mayor que el divisor, ve al paso 1.
Con este algoritmo que esta muy en general el contador es el resultado, oviamente le faltan detalles pero la idea es muy clara, bueno espero.
Y para dividir b/a y que no puedas darle valores a las literales de todos modos seria el mismo camino, pero uno muy largo.
Bien aqui tenemos por as铆 decirlo el problema de la divici贸n en su definici贸n teorica, que es la que necesitas, por que el dividendo (9) es el numero que deseas dividir, el divisor (3) es el numero entre 茅l cual dividiras el dividendo y el resultado (3) es la cantidad de veces en que se divide el dividendo entre el divisor. Si me estoy equivocando en algo sobre esto o tienes alguna duda te toca investigar la definici贸n teorica de la divici贸n en un buen libro de matematicas.
Teniendo bien el concepto anterior viene el algoritmo de la funci贸n, con ayuda de tu ciclo favorito:
1.Resta del dividendo el divisor.
2.Aumenta en uno el contador.
3.Si el dividendo es mayor que el divisor, ve al paso 1.
Con este algoritmo que esta muy en general el contador es el resultado, oviamente le faltan detalles pero la idea es muy clara, bueno espero.
Y para dividir b/a y que no puedas darle valores a las literales de todos modos seria el mismo camino, pero uno muy largo.
El algoritmo que propones es sencillo, ya escrib铆 ese c贸digo el problema es que eso solo sirve para divisiones enteras. Si quieres dividir 9/2 te da 4 y deber铆a dar 4.5
Lo que no es c贸mo hacer un algoritmo para dividir sin "/" y que adem谩s me de los decimales.
Lo que no es c贸mo hacer un algoritmo para dividir sin "/" y que adem谩s me de los decimales.
Haz como cuando divides con l谩piz y papel y quieres decimales: Cuando llegas al resto y quieres continuar, simplemente pones el punto decimal en el cociente y a帽ades un cero al resto, para continuar dividiendo. A partir de aqu铆, contin煤as a帽adiendo ceros al resto y calculando nuevos decimales, hasta que alcances la precisi贸n deseada. Si ya tienes el algoritmo de restas sucesivas implementado, no costar谩 mucho esfuerzo ampliarlo.
Saludos,
Saludos,