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

((indice == 0) ? TRUE : exists)

Estas en el tema de ((indice == 0) ? TRUE : exists) en el foro de C/C++ en Foros del Web. Podéis ayudarme con esa operación? Un saludo...
  #1 (permalink)  
Antiguo 13/01/2012, 03:08
 
Fecha de Ingreso: julio-2010
Mensajes: 216
Antigüedad: 13 años, 9 meses
Puntos: 0
((indice == 0) ? TRUE : exists)

Podéis ayudarme con esa operación?

Un saludo
  #2 (permalink)  
Antiguo 13/01/2012, 06:46
 
Fecha de Ingreso: abril-2010
Ubicación: Rosario
Mensajes: 1.850
Antigüedad: 14 años
Puntos: 228
Respuesta: ((indice == 0) ? TRUE : exists)

Esto funciona como un if:
Supongamos que tenes a = ((indice == 0) ? TRUE : exists);
Equivale a:

if (indice == 0) a = TRUE;
else a = exists;

Osea, primero chequea la condicion...luego tenes los dos valores que devolves separados por los dos puntos.

Esta sigue siendo una expresion. La podes combinar con otros operadores. Ejemplo:

a = (p==1?8:9) + 5 ;
  #3 (permalink)  
Antiguo 13/01/2012, 06:47
Avatar de CapacProg  
Fecha de Ingreso: marzo-2010
Ubicación: Lima - Perú
Mensajes: 324
Antigüedad: 14 años, 1 mes
Puntos: 71
Respuesta: ((indice == 0) ? TRUE : exists)

El perador ?, cuenta con tres partes:
Código C++:
Ver original
  1. <condicion>?<Parte a ejecutar si la condición es verdadera>:<Parte a ejecutar si la condición es falsa>

Entonces, realiza la comparación (indice==0), devolverá el valor de su variable o constante TRUE si es verdadera o sino devolverá el valor de su variable o constante exist si es falsa la comparación respectivamente.
__________________
%
El mejor guerrero no es el que triunfa siempre sino el que vuelve sin miedo a la batalla.
%
  #4 (permalink)  
Antiguo 15/01/2012, 20:59
Avatar de zero0097  
Fecha de Ingreso: abril-2010
Ubicación: México
Mensajes: 481
Antigüedad: 14 años
Puntos: 69
Respuesta: ((indice == 0) ? TRUE : exists)

Aqui un ejemplo bien sencillo primero con Ifs y luego con el ??

int a = 5;

if(a<10)
a = 3;
else a = 20;

Osea si A vale 5, evalea, si 5 es menor a 10 reasigna A a 3, si no a 20...ahora va con el ?

int a = 5;

a = (a<10) ? a=3 : a=20;
  #5 (permalink)  
Antiguo 16/01/2012, 04:56
 
Fecha de Ingreso: abril-2011
Mensajes: 1.342
Antigüedad: 13 años
Puntos: 344
Respuesta: ((indice == 0) ? TRUE : exists)

zero0097, creo que has tenido un lapsus, no hay porque realizar la asignación de esa manera, se pueden quitar las asignaciones internas:

Código C++:
Ver original
  1. int a = 5;
  2.  
  3. a = (a<10) ? 3 : 20;

Saludos.
  #6 (permalink)  
Antiguo 17/01/2012, 22:26
Avatar de zero0097  
Fecha de Ingreso: abril-2010
Ubicación: México
Mensajes: 481
Antigüedad: 14 años
Puntos: 69
Respuesta: ((indice == 0) ? TRUE : exists)

Ho si de veras, gracias por la aclaración...

Etiquetas: true
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 03:55.