elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Rompecabezas de Bitcoin, Medio millón USD en premios


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  [Ayuda] Redondeo en C++
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [Ayuda] Redondeo en C++  (Leído 4,134 veces)
Zodiak98

Desconectado Desconectado

Mensajes: 120


Ver Perfil
[Ayuda] Redondeo en C++
« en: 22 Julio 2014, 20:26 pm »

Ya logré resolverlo, gracias. :)
Si un moderador ve este, por favor cierre el tema. n.n


« Última modificación: 23 Julio 2014, 01:45 am por Zodiak98 » En línea

CalgaryCorpus


Desconectado Desconectado

Mensajes: 323


Ver Perfil WWW
Re: [Ayuda] Redondeo en C++
« Respuesta #1 en: 22 Julio 2014, 20:57 pm »

n2 es siempre una potencia de 10?

Si es asi esto sugiero:
- Sumar la mitad de n2 a n1
- Calcular el resto de la division entre n1 y n2 usando el modulo
- Restarle ese resto a n1

1424, 10:
- 1424 + 5 = 1429
- 1429 % 10 = 9
- 1429 - 9 = 1420

2636, 100:
- 2636 + 50 = 2686
- 2686 % 100 = 86
- 2686 - 86 = 2600



En línea

Aqui mi perfil en LinkedIn, invitame un cafe aqui
Zodiak98

Desconectado Desconectado

Mensajes: 120


Ver Perfil
Re: [Ayuda] Redondeo en C++
« Respuesta #2 en: 22 Julio 2014, 21:18 pm »

n2 es siempre una potencia de 10?

Si es asi esto sugiero:
- Sumar la mitad de n2 a n1
- Calcular el resto de la division entre n1 y n2 usando el modulo
- Restarle ese resto a n1

1424, 10:
- 1424 + 5 = 1429
- 1429 % 10 = 9
- 1429 - 9 = 1420

2636, 100:
- 2636 + 50 = 2686
- 2686 % 100 = 86
- 2686 - 86 = 2600



Hehe no, error mío. En el segundo ejemplo es 100, no 10.
En línea

Blaster

Desconectado Desconectado

Mensajes: 190


Ver Perfil
Re: [Ayuda] Redondeo en C++
« Respuesta #3 en: 22 Julio 2014, 22:08 pm »

Hehe no, error mío. En el segundo ejemplo es 100, no 10.

Yo creo que con la solución que propuso CalgaryCorpus es mas que suficiente si asumimos que n2 siempre es potencia de 10 cosa que aun no has aclarado.
« Última modificación: 22 Julio 2014, 22:43 pm por Blaster » En línea

CalgaryCorpus


Desconectado Desconectado

Mensajes: 323


Ver Perfil WWW
Re: [Ayuda] Redondeo en C++
« Respuesta #4 en: 22 Julio 2014, 22:13 pm »

Ojo que  Redondeo != Truncado, por lo que la suma de n2 / 2 es importante
En línea

Aqui mi perfil en LinkedIn, invitame un cafe aqui
leosansan


Desconectado Desconectado

Mensajes: 1.314


Ver Perfil
Re: [Ayuda] Redondeo en C++
« Respuesta #5 en: 23 Julio 2014, 08:03 am »

Para que no se diga   :rolleyes:  que no hay más opciones  :o  mi propuesta  :silbar: :

Código
  1. n1 = ( n1 % 100 ) < 50 ? 100 * ( n1 / 100 ) : 100 + 100 * ( n1  / 100 ) ;

donde 100 se puede sustituir por n2 supuesta potencia de 10:

Código
  1. n1 = ( n1 % n2 ) < n2 / 2 ? n2 * ( n1 / n2 ) : n2 + n2 * ( n1 / n2 ) ;



¡¡¡¡ Saluditos! ..... !!!!




« Última modificación: 23 Julio 2014, 08:19 am por leosansan » En línea

engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: [Ayuda] Redondeo en C++
« Respuesta #6 en: 23 Julio 2014, 08:08 am »

Ya logré resolverlo, gracias. :)
Si un moderador ve este, por favor cierre el tema. n.n

no destruyas el tema, deja la pregunta como estaba en lugar de que alguien más se interese en algo similar y usa el boton para marcar el tema como resuelto
En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
leosansan


Desconectado Desconectado

Mensajes: 1.314


Ver Perfil
Re: [Ayuda] Redondeo en C++
« Respuesta #7 en: 4 Agosto 2014, 23:18 pm »

no destruyas el tema, deja la pregunta como estaba en lugar de que alguien más se interese en algo similar y usa el boton para marcar el tema como resuelto

Totalmente de acuerdo y además no dice cómo logro resolverlo por si a otros usuarios le puede resultar útil.

Ante tanto desdén respondo con otra opción:

Código
  1. n1 = ( ( n1 + n2 / 2 ) / n2 > ( n1 / n2 ) )  ?  ( n1 / n2 ) * n2 + n2 : ( n1 / n2 ) * n2 ;

¡¡¡¡ Saluditos! ..... !!!!


En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
como redondeo los bordes de un rectangulo en el swish??
Diseño Gráfico
darkela 0 2,007 Último mensaje 28 Octubre 2004, 15:16 pm
por darkela
Decimales y Redondeo
Java
alexmacan 2 6,625 Último mensaje 18 Diciembre 2009, 20:10 pm
por alexmacan
Redondeo en Crystal Reports
Programación General
marlon_agz 0 5,623 Último mensaje 6 Mayo 2011, 13:18 pm
por marlon_agz
Evitar redondeo de decimales en textbox
Programación Visual Basic
rapbyone 7 8,543 Último mensaje 12 Febrero 2015, 17:32 pm
por okik
Sctipt redondeo en caja
Programación C/C++
Mechanix318 2 2,031 Último mensaje 27 Noviembre 2017, 17:57 pm
por Mechanix318
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines