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

Bucle for en vez de ifs

Estas en el tema de Bucle for en vez de ifs en el foro de C/C++ en Foros del Web. Buenas tardes, Estoy modificando un programa, y me gustaría hacer lo siguiente: Tengo estos ifs que me comprueban que número de caja es el menor: ...
  #1 (permalink)  
Antiguo 27/11/2012, 09:49
 
Fecha de Ingreso: noviembre-2008
Mensajes: 13
Antigüedad: 15 años, 5 meses
Puntos: 1
Bucle for en vez de ifs

Buenas tardes,

Estoy modificando un programa, y me gustaría hacer lo siguiente:

Tengo estos ifs que me comprueban que número de caja es el menor:

int a=0;

if((caja[0].cuantos()<caja[1].cuantos()) && (caja[0].cuantos()<caja[2].cuantos()) && (caja[0].cuantos()<caja[3].cuantos())){
a=0;
}else
if((caja[1].cuantos()<caja[2].cuantos()) && (caja[1].cuantos()<caja[3].cuantos())){
a=1;
}else
if(caja[2].cuantos()<caja[3].cuantos()){
a=2;
}else
a=3;

El método cuantos devuelve los elementos que hay en una caja.

Me gustaría modificar los ifs para poner un bucle for, ya que ahora me están pidiendo añadir X cajas más y no puedo ir poniendo todo con los ifs. He hecho lo siguiente:

int b=1;

for (int i=1; i<4;i++){
if (!caja[a].cuantos()<caja[b].cuantos()) {
a=b; }

b++;
};

Pero si ejecuto el programa, el resultado con if me da el correcto, pero con el for me da incorrecto. ¿Qué hago mal?

Gracias,

Saludos.
  #2 (permalink)  
Antiguo 27/11/2012, 09:53
 
Fecha de Ingreso: noviembre-2008
Mensajes: 13
Antigüedad: 15 años, 5 meses
Puntos: 1
Respuesta: Bucle for en vez de ifs

Vale, ya lo he arreglado, en el if del for se me ha olvidado un paréntesis antes del !.

if (!(caja[a].cuantos()<caja[b].cuantos()))

Etiquetas: bucle, ifs, int, programa, vez
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 04:35.