Redondeo

12 views
Skip to first unread message

Allander Anjos

unread,
Mar 25, 2013, 8:41:43 AM3/25/13
to CyC++ Buenos Aires
Chicos, estoy haciendo un colegio, el programa usando DEV C + +, y
necesito una cuenta utilizando round 'obligatoria' <,>, ==, =!, Y no
puedo hacer este trabajo, alguien puede ayudarme? Es algo urgente ...

Alejandro Santos

unread,
Mar 25, 2013, 8:48:30 AM3/25/13
to cp...@googlegroups.com
Mostranos lo que ya tenes hecho

El día 25 de marzo de 2013 09:41, Allander Anjos
<alland...@gmail.com> escribió:
> Chicos, estoy haciendo un colegio, el programa usando DEV C + +, y
> necesito una cuenta utilizando round 'obligatoria' <,>, ==, =!, Y no
> puedo hacer este trabajo, alguien puede ayudarme? Es algo urgente ...
>
> --
> --
> ¿Eres miembro de "CyC++ Buenos Aires" verdad? Si no lo eres, has recibido este mesaje por error.
> En caso de duda visita "http://groups.google.com/group/cppba"
> ---
> Has recibido este mensaje porque estás suscrito al grupo "CyC++ Buenos Aires" de Grupos de Google.
> Para anular la suscripción a este grupo y dejar de recibir sus correos electrónicos, envía un correo electrónico a cppba+un...@googlegroups.com.
> Para obtener más opciones, visita https://groups.google.com/groups/opt_out.
>
>



--
Alejandro Santos

Allander Anjos

unread,
Mar 25, 2013, 8:52:13 AM3/25/13
to CyC++ Buenos Aires
ME AYUDA POR FAVOR

Alejandro Santos

unread,
Mar 25, 2013, 8:59:10 AM3/25/13
to cp...@googlegroups.com
Sí. Mostranos lo que ya tenés hecho.

El día 25 de marzo de 2013 09:52, Allander Anjos
<alland...@gmail.com> escribió:
> ME AYUDA POR FAVOR

Daniel Gutson

unread,
Mar 25, 2013, 9:45:44 AM3/25/13
to cp...@googlegroups.com
no entendí ni qué tenés que hacer, ni qué necesitás.
Poné el postulado del problema por lo menos.

2013/3/25 Allander Anjos <alland...@gmail.com>
Chicos, estoy haciendo un colegio, el programa usando DEV C + +, y
necesito una cuenta utilizando round 'obligatoria' <,>, ==, =!, Y no
puedo hacer este trabajo, alguien puede ayudarme? Es algo urgente ...
--
--
¿Eres miembro de "CyC++ Buenos Aires" verdad? Si no lo eres, has recibido este mesaje por error.
En caso de duda visita "http://groups.google.com/group/cppba"
---
Has recibido este mensaje porque estás suscrito al grupo "CyC++ Buenos Aires" de Grupos de Google.
Para anular la suscripción a este grupo y dejar de recibir sus correos electrónicos, envía un correo electrónico a cppba+un...@googlegroups.com.
Para obtener más opciones, visita https://groups.google.com/groups/opt_out.





--
Who’s got the sweetest disposition?
One guess, that’s who?
Who’d never, ever start an argument?
Who never shows a bit of temperament?
Who's never wrong but always right?
Who'd never dream of starting a fight?
Who get stuck with all the bad luck?

Allander Anjos

unread,
Mar 25, 2013, 9:54:41 AM3/25/13
to CyC++ Buenos Aires
tipo, el resultado fue de 402.60, tengo que separar el ",60" y si es
superior a "0.50" redondeado hacia arriba si por menos rondas .. el
problema es que tengo que usar "verdadero y falso" por los términos
"<,>, == y =!" .. No puedo usar otros métodos de redondeo, al igual
que ..

Diego Padula

unread,
Mar 25, 2013, 9:55:32 AM3/25/13
to cp...@googlegroups.com
estas usando un traductor ? hablas otro idioma ?
si hablas ingles postea el problema en ingles


2013/3/25 Allander Anjos <alland...@gmail.com>
--
--
¿Eres miembro de "CyC++ Buenos Aires" verdad? Si no lo eres, has recibido este mesaje por error.
En caso de duda visita "http://groups.google.com/group/cppba"
---
Has recibido este mensaje porque estás suscrito al grupo "CyC++ Buenos Aires" de Grupos de Google.
Para anular la suscripción a este grupo y dejar de recibir sus correos electrónicos, envía un correo electrónico a cppba+un...@googlegroups.com.
Para obtener más opciones, visita https://groups.google.com/groups/opt_out.





--
______________________________

Diego Padula
diego....@gmail.com
Tel. (0342) 4505506
Tel. (0342) 156148474

Allander Anjos

unread,
Mar 25, 2013, 10:01:55 AM3/25/13
to CyC++ Buenos Aires
Estoy usando el traductor sí, más me habla portugués, quieres que
escriba en mi propio idioma?

Diego Padula

unread,
Mar 25, 2013, 10:05:26 AM3/25/13
to cp...@googlegroups.com
En lo posible. la gente que te puede aclarar tus dudas, podria tener menos problemas para responderte.

Google translate
"Sempre que possível. pessoas que você pode esclarecer suas dúvidas, pode ter menos problemas para responder."


2013/3/25 Allander Anjos <alland...@gmail.com>
Estoy usando el traductor sí, más me habla portugués, quieres que
escriba en mi propio idioma?
--
--
¿Eres miembro de "CyC++ Buenos Aires" verdad? Si no lo eres, has recibido este mesaje por error.
En caso de duda visita "http://groups.google.com/group/cppba"
---
Has recibido este mensaje porque estás suscrito al grupo "CyC++ Buenos Aires" de Grupos de Google.
Para anular la suscripción a este grupo y dejar de recibir sus correos electrónicos, envía un correo electrónico a cppba+un...@googlegroups.com.
Para obtener más opciones, visita https://groups.google.com/groups/opt_out.


Allander Anjos

unread,
Mar 25, 2013, 10:10:32 AM3/25/13
to CyC++ Buenos Aires
Eu vou escrever em português, fica melhor pra entender?

Gente, eu estou fazendo um trabalho da faculdade, usando o programa o
DEV C + +, e preciso de usar 'obrigatóriamente' "verdadeiro e falso",
<,>, ==, =!, e não eu preciso fazer este trabalho, alguém pode me
ajudar? É urgente ...

Daniel Gutson

unread,
Mar 25, 2013, 10:24:56 AM3/25/13
to cp...@googlegroups.com
Voy a tratar de escribir en español simple, porque no sé portugués.

Suponte que podés obtener la parte entera de un número:

float flt = 3.1415;
int ent = (int)f;

luego, ent = 3, ok?

ahora, qué pasa si hacemos

   flt - ent ?

obtendremos 0.1415

y si luego lo multiplicamos por 10^n, donde n es la precisión, por ejemplo 2, 

    14.15

aplicamos conversión a entero de nuevo, obtenemos 14, ok?

ESO es lo que debes comparar con 5.

Se entiende?


2013/3/25 Allander Anjos <alland...@gmail.com>
--
--
¿Eres miembro de "CyC++ Buenos Aires" verdad? Si no lo eres, has recibido este mesaje por error.
En caso de duda visita "http://groups.google.com/group/cppba"
---
Has recibido este mensaje porque estás suscrito al grupo "CyC++ Buenos Aires" de Grupos de Google.
Para anular la suscripción a este grupo y dejar de recibir sus correos electrónicos, envía un correo electrónico a cppba+un...@googlegroups.com.
Para obtener más opciones, visita https://groups.google.com/groups/opt_out.





--

Allander Anjos

unread,
Mar 25, 2013, 10:48:13 AM3/25/13
to CyC++ Buenos Aires
Eu tenho que usar obrigatoriamente as variáveis "verdade e falso", se
verdade > (maior) que 0.50 arredonda pra cima, se falso < (menor) que
0.5 arredonda pra baixo.
Essa forma que você passou eu não posso utilizar.

On 25 mar, 10:24, Daniel Gutson <danielgut...@gmail.com> wrote:
> Voy a tratar de escribir en español simple, porque no sé portugués.
>
> Suponte que podés obtener la parte entera de un número:
>
> float flt = 3.1415;
> int ent = (int)f;
>
> luego, ent = 3, ok?
>
> ahora, qué pasa si hacemos
>
>    flt - ent ?
>
> obtendremos 0.1415
>
> y si luego lo multiplicamos por 10^n, donde n es la precisión, por ejemplo
> 2,
>
>     14.15
>
> aplicamos conversión a entero de nuevo, obtenemos 14, ok?
>
> ESO es lo que debes comparar con 5.
>
> Se entiende?
>
> 2013/3/25 Allander Anjos <allanderan...@gmail.com>
> Who get stuck with all the bad luck?- Ocultar texto das mensagens anteriores -
>
> - Mostrar texto das mensagens anteriores -

Daniel Gutson

unread,
Mar 25, 2013, 11:22:40 AM3/25/13
to cp...@googlegroups.com
Lo que yo te expliqué involucra Verdadero o Falso , lee de nuevo.

Esto solo lo podrás resolver si prestas atencion de tu parte, nosotros no
haremos la tarea por usted.

2013/3/25 Allander Anjos <alland...@gmail.com>

Allander Anjos

unread,
Mar 25, 2013, 11:37:31 AM3/25/13
to CyC++ Buenos Aires
Amigo, só estou pedindo a ajuda de vocês porque já fiz inúmeras
tentativas e não tive sucesso, não quero que façam o trabalho pra mim,
até porque já resolvi todo o restante do cálculo, só não consegui
arredondar, só falta o final...

On 25 mar, 11:22, Daniel Gutson <danielgut...@gmail.com> wrote:
> Lo que yo te expliqué involucra Verdadero o Falso , lee de nuevo.
>
> Esto solo lo podrás resolver si prestas atencion de tu parte, nosotros no
> haremos la tarea por usted.
>
> 2013/3/25 Allander Anjos <allanderan...@gmail.com>

Daniel Gutson

unread,
Mar 25, 2013, 11:40:24 AM3/25/13
to cp...@googlegroups.com
Mira que puse

   COMPARAR CON 50

despues de todos los cálculos (pasar a entero, restarlo, etc.)

Relee, y pregunta cosas concretas de los pasos que escribí en el email anterior.

2013/3/25 Allander Anjos <alland...@gmail.com>
--
--
¿Eres miembro de "CyC++ Buenos Aires" verdad? Si no lo eres, has recibido este mesaje por error.
En caso de duda visita "http://groups.google.com/group/cppba"
---
Has recibido este mensaje porque estás suscrito al grupo "CyC++ Buenos Aires" de Grupos de Google.
Para anular la suscripción a este grupo y dejar de recibir sus correos electrónicos, envía un correo electrónico a cppba+un...@googlegroups.com.
Para obtener más opciones, visita https://groups.google.com/groups/opt_out.


Allander Anjos

unread,
Mar 25, 2013, 11:51:14 AM3/25/13
to CyC++ Buenos Aires
Daniel, essa forma que você ensinou dá certo, porém eu preciso
arredondar utilizando as variáveis “verdade e falso”.

Daniel Gutson

unread,
Mar 25, 2013, 11:58:39 AM3/25/13
to cp...@googlegroups.com
bool hayQueRedondear = (elResultado >= 50);

if (hayQueRedondear)
   elEntero++;

2013/3/25 Allander Anjos <alland...@gmail.com>
--
--
¿Eres miembro de "CyC++ Buenos Aires" verdad? Si no lo eres, has recibido este mesaje por error.
En caso de duda visita "http://groups.google.com/group/cppba"
---
Has recibido este mensaje porque estás suscrito al grupo "CyC++ Buenos Aires" de Grupos de Google.
Para anular la suscripción a este grupo y dejar de recibir sus correos electrónicos, envía un correo electrónico a cppba+un...@googlegroups.com.
Para obtener más opciones, visita https://groups.google.com/groups/opt_out.


Allander Anjos

unread,
Mar 25, 2013, 12:02:59 PM3/25/13
to CyC++ Buenos Aires
Infelizmente não posso usar o if também, somente as variáveis "verdade
e falso".

Daniel Gutson

unread,
Mar 25, 2013, 12:35:35 PM3/25/13
to cp...@googlegroups.com
una variable verdadero o falso en C es un entero:

    int hayQueRedondear = (valor >= 50);

en C, el verdadero es 1, y el falso es 0.
Por eso, puedes sumar ese valor a la expresión aritmética:

resultado += hayQueRedondear;

2013/3/25 Allander Anjos <alland...@gmail.com>
--
--
¿Eres miembro de "CyC++ Buenos Aires" verdad? Si no lo eres, has recibido este mesaje por error.
En caso de duda visita "http://groups.google.com/group/cppba"
---
Has recibido este mensaje porque estás suscrito al grupo "CyC++ Buenos Aires" de Grupos de Google.
Para anular la suscripción a este grupo y dejar de recibir sus correos electrónicos, envía un correo electrónico a cppba+un...@googlegroups.com.
Para obtener más opciones, visita https://groups.google.com/groups/opt_out.


Allander Anjos

unread,
Mar 25, 2013, 1:42:59 PM3/25/13
to CyC++ Buenos Aires
mais isso vai arredondar apenas os números após a vígula???

Allander Anjos

unread,
Mar 25, 2013, 2:32:32 PM3/25/13
to CyC++ Buenos Aires
???
> > resultado += hayQueRedondear;- Hide quoted text -
>
> - Show quoted text -

Daniel Gutson

unread,
Mar 26, 2013, 12:17:08 AM3/26/13
to cp...@googlegroups.com
Sí,

  mira bien lo que escribí, traduce eso a pseudocódigo y post acá.
Fui claro paso a paso. Cuando lo pases en limpio, hablamos.
Mira el 10^n que digo. Es imprescindible que entiendas lo que expliqué.
Haz preguntas concretas sobre el procedimiento, si no pudiste seguir los pasos, pregunta.

2013/3/25 Allander Anjos <alland...@gmail.com>
--
--
¿Eres miembro de "CyC++ Buenos Aires" verdad? Si no lo eres, has recibido este mesaje por error.
En caso de duda visita "http://groups.google.com/group/cppba"
---
Has recibido este mensaje porque estás suscrito al grupo "CyC++ Buenos Aires" de Grupos de Google.
Para anular la suscripción a este grupo y dejar de recibir sus correos electrónicos, envía un correo electrónico a cppba+un...@googlegroups.com.
Para obtener más opciones, visita https://groups.google.com/groups/opt_out.


Allander Anjos

unread,
Mar 26, 2013, 7:32:12 AM3/26/13
to CyC++ Buenos Aires
Pow amigo, desde já obrigado pela força, vou tentar hoje a noite e
posto se deu certo.

On 26 mar, 00:17, Daniel Gutson <danielgut...@gmail.com> wrote:
> Sí,
>
>   mira bien lo que escribí, traduce eso a pseudocódigo y post acá.
> Fui claro paso a paso. Cuando lo pases en limpio, hablamos.
> Mira el 10^n que digo. Es imprescindible que entiendas lo que expliqué.
> Haz preguntas concretas sobre el procedimiento, si no pudiste seguir los
> pasos, pregunta.
>
> 2013/3/25 Allander Anjos <allanderan...@gmail.com>

Allander Anjos

unread,
Mar 27, 2013, 11:32:42 AM3/27/13
to CyC++ Buenos Aires
Daniel, não deu certo, vou te mandar o desenvolvimento do programa
programa:

#include <stdio.h>
#include <stdlib.h>
int main(void)
{
int diametro, largura;
float pml, peso;
diametro=1000;
pml=0.610;
printf("Informe um número:\n");
scanf("%d",&largura );
peso=largura*(1000/1000)*pml;
pesor=peso/peso;
verdadeiro=(pesor>50);
falso=(pesor60<=50);
printf(" o peso desta bobina seria aproximadamente:%f \n",peso);
printf(" verdadeiro= %f, falso= %f\n", verdadeiro, falso);
system("pause");
return 0;

}

Só falta arredondar esse resultado, preciso entregar amanhã, POR FAVOR
AJUDA AE!!
> > - Mostrar texto das mensagens anteriores -- Ocultar texto das mensagens anteriores -

Enrique Nieloud

unread,
Mar 27, 2013, 11:48:16 AM3/27/13
to cppba
Hay cosas raras en tu código:

* 1000/1000
* peso/peso
* pesor y pesor60 no están declaradas...
* verdadeiro va a ser falso. (si peso no es cero)

Allander Anjos

unread,
Mar 27, 2013, 3:00:53 PM3/27/13
to CyC++ Buenos Aires
AJUDEM NADA DISSO DEU CERTO!!!

Daniel Gutson

unread,
Mar 27, 2013, 11:16:40 PM3/27/13
to cp...@googlegroups.com
Allander,

  no has seguido los pasos que te dije.

Te voy a mostrar el pseudocódigo (tú lo tendrás que hacer en C), que no está optimizado así lo puedes entender.

// metodo 1 (se me acaba de ocurrir, hay que probarlo). Redondea al número entero más cercano.
int redondear1(float f)
{
    // paso 1: obtener parte entera:
    int parte_entera = (int)f;

    // paso 2: obtener parte decimal:
    const float parte_decimal = f - parte_entera;

    return
        ( parte_decimal > 4.0/9.0 ) ?    // acá puede poner el "verdadero" o "falso" que te piden
        parte_entera :
        parte_entera + 1;
}

// metodo 2: devuelve un float pero con los decimales redondeados
float redondear2(float f, unsigned int decimales)
{
    const int factor = 10^decimales; // factor para correr la coma. CUIDADO, ES PSEUDOCODIGO, no C.

    return redondear1(f * factor) / factor;
}


2013/3/27 Allander Anjos <alland...@gmail.com>

Carlos Bederián

unread,
Mar 28, 2013, 12:42:53 AM3/28/13
to cp...@googlegroups.com
Decir "man modf" estaba mal visto, no?
Más allá de que acá el problema es otro...

2013/3/28 Daniel Gutson <daniel...@gmail.com>

Pablo Ybalo

unread,
Mar 28, 2013, 9:13:40 AM3/28/13
to cp...@googlegroups.com

Mhh... Cuidado con los negativos!

Recomiendo esta lectura para tener presente diferencias entre truncar y redondear.

http://www.cs.tut.fi/~jkorpela/round.html

Spoiler warning: tiene codigo C... :-)

Allander Anjos

unread,
Apr 4, 2013, 1:47:49 PM4/4/13
to CyC++ Buenos Aires
Obrigadoo !!
Reply all
Reply to author
Forward
0 new messages