Ayuda por favor en problema de operaciones en programación

-(10-2)*(++5/2) II ( (10*2) - - ) = 

sería el resultado 

-(8)*(3) II (40) = -960 ?

Me ayudarían mucho si es que me ponen de favor todo el procesos y me explicaran cada uno de sus componentes

1 respuesta

Respuesta
3

Estoy suponiendo que estás hablando del lenguaje C o C++.

No se pueden aplicar los operadores de incremento o decremento directamente a números deben ser variables

Supongamos esto

int a,b,c,d,e;

a=5;

b=10*2;

c=-(10-2)*(a++/2) || b--;

Entonces podremos obtener el resultado en c

las operaciones intemedias serían

c = -8*(6/2) || 20

y b pasará a valer 21 después, pero para la opercación ha quedado el 20

c = -8*3 || 20

c= -24 || 20

Y el operador OR solo devuelve 0 si ambos operandos son 0, si alguno es distinto de 0 devuelve 1. Luego el resultado es

c=1

Y eso es todo.

Perdón, he puesto que b pasará a valer 21 después, lo que pasará es a valer 19. Pero eso no afecta al resultado.

¡Gracias! Muchas Gracias... sii... me ah quedado claro el contenido =)

Solamente que en tu respuesta cuando volviste a escribir el problema pusiste (en la parte de la multiplicación de a), "a++" y... creo esto quiere decir incremento después de... y... entonces no se incrementaría... ham... espero no confundirme o a ti... lo hiciste bien... GRACIAS! Gracias...!

Si, tienes razón, puse el incremento detrás a++ y era delante ++a, de todas formas hice las operaciones como si lo hubiera puesto delante, ya que si no hubiese sido

a++/2 = 2

y al final habría quedado

c= -16 || 20

Que sigue dando 1 de resultado.

Pero es cierto que puse el incremento al revés de como debía, la línea que hay que cambiar es esta

c=-(10-2)*(++a/2) || b--;

Todo lo demás es igual.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas