Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

lamuria

Sequence

Mensagens Recomendadas

lamuria

boas pessoal!

comecei a fazer um programa que através de uma sequência que é inserida no input, ele nos diz se é crescente, estritamente crescente, decrescente ou estritamente decrescente.

por exemplo se a minha sequência é:

1 2 3 4 5 6 7 8 9 10    o output deveria dizer "estritamente crescente"

1 1 1 1 1 2 2 2 2 2      o output deveria ser "crescente"

2 2 2 2 2 1 1 1 1 1      o output deveria ser "decrescente"

10 9 8 7 6 5 4 3 2 1    o output deveria ser "Estritamente decrescente"

mas isto é o que deveria de acontecer, por que o que acontece é o seguinte:

1 2 3 4 5 6 7 8 9 10    output  "estritamente crescente / crescente"

1 1 1 1 1 2 2 2 2 2      o output deveria ser "crescente / decrescente"

2 2 2 2 2 1 1 1 1 1      o output deveria ser "decrescente / crescente"

10 9 8 7 6 5 4 3 2 1    o output deveria ser "Estritamente decrescente / decrescente"

esta é a parte importante do código:

if(a<b && b<c && c<d && d<e && e<f && f<g && g<h && h<i && i<j || j>i && i>h && h>g && g>f && f>e && e>d && d>c && c>b && b>a){

System.out.println("Sequencia estritamente Crescente");

}

else{

System.out.println("Sequencia Decrescente");

}

if(a>b && b>c && c>d && d>e && e>f && f>g && g>h && h>i && i>j){

System.out.println("Sequencia estritamente Crescente");

}

else{

System.out.println("Sequencia Crescente");

}

ja percebi que o que problema está nos iguais, porque se eu tiver uma sequência de 2 números e tiver duas afirmações:

        a<b e a<=b                  a primeira está contida na segunda, daí estes erros, mas ja puxei pela cabeça e não me ocorre maneira nenhuma de resolver isto

obrigado 

 

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
KarlMTC

Primeiro comprovas se a sequencia tem pelo menos 2 números (para que possa haver comparações). Depois comparas o primeiro com o segundo. Se o primeiro for menor ja sabes que a sequencia vai ser crescente (estricta ou não estrictamente...), se for maior exactamente ao contrario. A partir de ahí com um for ou um while comparas até ao fim da sequencia o resto de números. Se houver um que é igual mostras que é crescente, se forem sempre maiores que o anterior mostras estrictamente crescente...

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.