¿Cómo dividir en c sin usar "/"?

ferry91
11 de Marzo del 2010
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!

yissel cruz
11 de Marzo del 2010
necesito una ayuda para crear una divicion sin uasr / ?

Jorgeriv
11 de Marzo del 2010
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.

ferry91
11 de Marzo del 2010
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 "/"???

demencia999
11 de Marzo del 2010
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.

ferry91
11 de Marzo del 2010
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.

Capitan Kirk
11 de Marzo del 2010
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,