Título: Ayuda con un programa en C++ (parece sencillo pero...) [RESUELTO!] Publicado por: luxna en 24 Septiembre 2010, 19:09 pm Buenas a todos/as!
Bueno, resulta que soy nuevo en esto del C++, y en la universidad nos han pedido que hagamos el siguiente programa: Entrar un numero entero y uno natural (-32 y 6) y dividirlos entre si. El cociente de la división puede dar negativo o positivo, pero nos piden que el valor del resto sea positivo. Así pues, el resto tiene que ser un valor absoluto... Como ejemplos de los resultados que se deben obtener: 32 / 6 ---> Cociente 5, Resto 2 -32 / 6 ---> Cociente -6, resto 4 Con lo que realmente tengo problemas es con el segundo ejemplo... El primero no hay problema. No consigo que me den esos valores (-6 y 4) y me han prohibido usar la biblioteca <math.h>. Mi intento lo he estructurado de la siguiente manera: Código
Alguno/a puede ayudarme a solucionar este problema que viene determinado por el signo del resto? Muchas gracias!!! Título: Re: Ayuda con un programa en C++ (parece sencillo pero...) Publicado por: criskapunk en 24 Septiembre 2010, 19:27 pm Buenas!
Si tenes que lograr que el resto de la division siempre sea positivo y no podes usar alguna funcion como Abs() (No se si C++ tendra la misma, no conozco el lenguaje), podrias tomar el valor devuelto y en caso de que fuese negativo, multiplicarlo por -1. Un saludo ;) Título: Re: Ayuda con un programa en C++ (parece sencillo pero...) Publicado por: Akai en 24 Septiembre 2010, 19:50 pm Prueba a usar un unsigned int para almacenar el resto. Eso debería solucionar tu problema ya que las variables de tipo unsigned no almacenan el signo.
Título: Re: Ayuda con un programa en C++ (parece sencillo pero...) Publicado por: ace332 en 24 Septiembre 2010, 23:03 pm Bueno amigo, para resolver el ejercicio que te dieron debes fijarte en la relación que hay entre Dividendo, Divisor, Cociente y Residuo:
Dividendo = Cociente*Divisor + Resto (Aqui siempre Resto < Cociente) Ahora bien, si el resto nos da negativo debemos "positivisarlo"... pero el nuevo resto tambien debe cumplir con la relación anterior: Dividendo = (Cociente -1)*Divisor + (Divisor + Resto) Luego tenemos lo siguiente Nuevo cociente: Cociente -1 Nuevo resto: Divisor + Resto El resto es solo cosa de programarlo ;) Saludos :) Título: Re: Ayuda con un programa en C++ (parece sencillo pero...) [RESUELTO!] Publicado por: luxna en 24 Septiembre 2010, 23:48 pm Bueno amigo, para resolver el ejercicio que te dieron debes fijarte en la relación que hay entre Dividendo, Divisor, Cociente y Residuo: Dividendo = Cociente*Divisor + Resto (Aqui siempre Resto < Cociente) Ahora bien, si el resto nos da negativo debemos "positivisarlo"... pero el nuevo resto tambien debe cumplir con la relación anterior: Dividendo = (Cociente -1)*Divisor + (Divisor + Resto) Luego tenemos lo siguiente Nuevo cociente: Cociente -1 Nuevo resto: Divisor + Resto El resto es solo cosa de programarlo ;) Saludos :) Lo tengo, ya me ha salido!!! Muchísimas gracias por vuestra ayuda!!! |