3 Condicionais for imbutidas(Ninguem sabe como eu encerro o loop do segundo for? para voutar ao 1º?)

8 respostas
DavidUser

A idéia era que ele fize-se:
a 0<[1-10]<[1-10]
...
0<1<2
0<1<3
0<2<3
0<1<4
0<2<4
0<3<4
...
0<9<10
1<2<3
1<2<4
1<3<4
... ... ...

mais não faz assim o a nunca sai do 0! Olha:

public static void main(String[]args){
     int a = 0,b = 0,c = 0,sum=0,x=0;

     for(a=0;a<15;a++){
        for (c=2;c>b;c++){
             for(b=1;a<b & b<c;b++){
                 sum=a+b+c;
                 System.out.println("a="+a+" b="+b+" c="+c+"  sum="+(a+b+c));
             }
        }
      }
    }
como eu faço?

8 Respostas

DavidUser

no caso é 1 a 15

B

Que lógica doida vc inventou aí.

Quando A entrar em 1, o terceiro loop nunca vai entrar por que b == 1 e a == b

Eduardog

Boa Noite DavidUser,

Cara acho que o que você quer é isto, pois não entendi direito o que deseja mas deduzir uma solução

int a = 1;
        int b = 2;
        int c = 3;
        int sum = 0;
        int x = 0;

        for( a = 1; a < 15; a++ )
        {
          for ( c = 3; c > b; c++ )
          {
            for( b = 2; a < b & b < c; b++)
            {
     
               sum = a+b+c;
               System.out.println("a="+a+" b="+b+" c="+c+"  sum="+(a+b+c));
            }

           }

        }

      }

Espero ter ajudado,
:)

DavidUser

ainda não continua o mesmo problema! meu objetivo era isso só q quando “c” recebece um valor maior que 4 recomeça-se a contage onde a passa-se a valer +1 do seu inicial! viu que “a” sempre é 1!

ajuda ai gente! não é possivel que ninguem do forum saiba oq quero.

[color=red]quero isso ai só que quando o c valer 4 ele recomece a execução desde o 1º for com a = a+ 1 ![/color]

DavidUser

Bruno Laturner:
Que lógica doida vc inventou aí.

Quando A entrar em 1, o terceiro loop nunca vai entrar por que b == 1 e a == b

nun cara, quando a vale 1 b passa a ser 2,ou não?
pera ai é mesmo a sempre começa contando de 1,

ajuda ai q q eu faço então! vc sabe o objetivo!

DavidUser

Acho q o problema é que o loop nunca sai do 2º for

B
Vou facilitar:
int INICIO = 1;
int FIM = 6;

int a = INICIO;
int b = a + 1;
int c = b + 1;

while (a < b && c <= FIM)
{
    c = b + 1;
    while (c <= FIM)
    {
        b = a + 1;
        while (b < c)
        {
            System.out.println(a + " < " + b + " < " + c);
            b = b + 1;
        }
        c = c + 1
    }
    a = a + 1;
    b = a + 1;
    c = b + 1;
}
Sabe fazer teste de mesa?
Exemplo da primeira vez que passamos na linha 16:

linha -> INICIO | a | b | c | FIM | a < b | b < c | c <= FIM |   SAIDA
  16  ->    1   | 1 | 2 | 3 |  6  |  SIM  |  SIM  |   SIM    | 1 < 2 < 3
Faça para todo o programa. É uma quantidade de linha boa para aprender.
DavidUser

num intendi o raciocínio!
pode explicar?

Criado 19 de abril de 2009
Ultima resposta 21 de abr. de 2009
Respostas 8
Participantes 3