Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Es correcto?

Estas en el tema de Es correcto? en el foro de C/C++ en Foros del Web. fact *=n==0 ? 1.0 : n; Es correcto expresar lo anterior como Código: fact=fact*n; if(fact==0) fact=1.0; else fact=n;...
  #1 (permalink)  
Antiguo 01/07/2010, 16:47
 
Fecha de Ingreso: junio-2010
Mensajes: 9
Antigüedad: 13 años, 10 meses
Puntos: 0
Sonrisa Es correcto?

fact *=n==0 ? 1.0 : n;


Es correcto expresar lo anterior como


Código:
fact=fact*n;
if(fact==0) fact=1.0;
else fact=n;
  #2 (permalink)  
Antiguo 02/07/2010, 00:41
 
Fecha de Ingreso: enero-2008
Mensajes: 229
Antigüedad: 16 años, 3 meses
Puntos: 1
Respuesta: Es correcto?

no realmente sería asi

if(n ==0)
fact =0;
else
fact = n*n;

n==0 ? 1.0 : n;
?: es un operador tenario el cual significa
condicion?si la condicion es verdadera: en caso contrario

ademas tienes el *=, lo que es equivalente a

fact = fact*(n==0 ? 1.0 : n);

asi k lo que esta expresado en realidad aqui

fact *=n==0 ? 1.0 : n;

es lo siguiente

si n es igual a cero multiplicar fact por 1 y asigna el resultado a fact
sino multiplica fact por n y asigna el resultado a fact
  #3 (permalink)  
Antiguo 02/07/2010, 07:16
 
Fecha de Ingreso: junio-2010
Mensajes: 9
Antigüedad: 13 años, 10 meses
Puntos: 0
Respuesta: Es correcto?

Cita:
Iniciado por margarito04 Ver Mensaje
no realmente sería asi

if(n ==0)
fact =0;
else
fact = n*n;

n==0 ? 1.0 : N;
?: Es un operador tenario el cual significa
condicion?si la condicion es verdadera: En caso contrario

ademas tienes el *=, lo que es equivalente a

fact = fact*(n==0 ? 1.0 : N);

asi k lo que esta expresado en realidad aqui

fact *=n==0 ? 1.0 : N;

es lo siguiente

si n es igual a cero multiplicar fact por 1 y asigna el resultado a fact
sino multiplica fact por n y asigna el resultado a fact
gracias

Etiquetas: correcto
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 01:50.