rogerss_7 0 Denunciar post Postado Março 28, 2007 Fala gente. Venho trazendo uma novidade pra vocês, tcharã;;; é nada mais, nda menos que um bug pra vocês me ajudarem a resolver, que presente heim. Há alguns dias postei aqui uma dúvida de como resolver um algorítmo de 4 números que resultasse na ordem crescente, só na base do se e senão, queria agradecer ao brilhantíssemo Jonatan Diego que me ajudou nesta correria. É um algorítmo pra Embap (q coisa heim) as vezes ele consegue ordenar direitinho, mas tem horas que ele dá uns pau muito doido, talvez seja alguma condição errada. Gostaria da ajuda de vocês. Vlw novamente. variaveisnumerico n1, n2, n3, n4inicioler n1escrever "Número 1 vale: ", n1ler n2escrever "Número 2 vale: ", n2ler n3escrever "Número 3 vale: ", n3ler n4escrever "Número 4 vale: ", n4 escrever " " escrever "Resultado final abaixo:" se (n1 < n2) e (n1 < n3) e (n1 < n4) entao escrever n1, " - " ,n2 " - " ,n3 " - " ,n4 senao se (n1 < n2) e (n1 < n4) e (n1 < n3) entao escrever n1, " - " ,n2, " - " ,n4, " - " ,n3 senao se (n1 < n3) e (n1 < n2) e (n1 < n4) entao escrever n1, " - " ,n3, " - " ,n2, " - " ,n4 senao se (n1 < n4) e (n1 < n2) e (n1 < n3) entao escrever n1, " - " ,n4, " - " ,n2, " - " ,n3 senao se (n1 < n3) e (n1 < n4) e (n1 < n2) entao escrever n1, " - " ,n3, " - " ,n4, " - " ,n2 senao se (n1 < n4) e (n1 < n3) e (n1 < n2) entao escrever n1, " - " ,n4, " - " ,n3, " - " ,n2 senao se (n2 < n1) e (n2 < n3) e (n2 < n4) entao escrever n2, " - " ,n1, " - " ,n3, " - " ,n4 senao se (n2 < n1) e (n2 < n4) e (n2 < n3) entao escrever n2, " - " ,n1, " - " ,n4, " - " ,n3 senao se (n2 < n3) e (n2 < n1) e (n2 < n4) entao escrever n2, " - " ,n3, " - " ,n1, " - " ,n4 senao se (n2 < n4) e (n2 < n1) e (n2 < n3) entao escrever n2, " - " ,n4, " - " ,n1, " - " ,n3 senao se (n2 < n3) e (n2 < n4) e (n2 < n1) entao escrever n2, " - " ,n3, " - " ,n4, " - " ,n1 senao se (n2 < n4) e (n2 < n3) e (n2 < n1) entao escrever n2, " - " ,n4, " - " ,n3, " - " ,n1 senao se (n3 < n2) e (n3 < n1) e (n3 < n4) entao escrever n3, " - " ,n2, " - " ,n1, " - " ,n4 senao se (n3 < n2) e (n3 < n4) e (n3 < n1) entao escrever n3, " - " ,n2, " - " ,n4, " - " ,n1 senao se (n3 < n1) e (n3 < n2) e (n3 < n4) entao escrever n3, " - " ,n1, " - " ,n2, " - " ,n4 senao se (n3 < n4) e (n3 < n2) e (n3 < n1) entao escrever n3, " - " ,n4, " - " ,n2, " - " ,n1 senao se (n3 < n1) e (n3 < n4) e (n3 < n2) entao escrever n3, " - " ,n1, " - " ,n4, " - " ,n2 senao se (n3 < n4) e (n3 < n1) e (n3 < n2) entao escrever n3, " - " ,n4, " - " ,n1, " - " ,n2 senao se (n4 < n2) e (n4 < n1) e (n4 < n3) entao escrever n4, " - " ,n2, " - " ,n1, " - " ,n3 senao se (n4 < n2) e (n4 < n3) e (n4 < n1) entao escrever n4, " - " ,n2, " - " ,n3, " - " ,n1 senao se (n4 < n1) e (n4 < n2) e (n4 < n3) entao escrever n4, " - " ,n1, " - " ,n2, " - " ,n3 senao se (n4 < n3) e (n4 < n2) e (n4 < n1) entao escrever n4, " - " ,n3, " - " ,n2, " - " ,n1 senao se (n4 < n1) e (n4 < n3) e (n4 < n2) entao escrever n4, " - " ,n1, " - " ,n3, " - " ,n2 senao se (n4 < n3) e (n4 < n1) e (n4 < n2) entao escrever n4, " - " ,n3, " - " ,n1, " - " ,n2 fim_se fim_se fim_se fim_se fim_se fim_se fim_se fim_se fim_se fim_se fim_se fim_se fim_se fim_se fim_se fim_se fim_se fim_se fim_se fim_se fim_se fim_se fim_se fim_sefim Compartilhar este post Link para o post Compartilhar em outros sites
paulo_linux 0 Denunciar post Postado Março 28, 2007 Ficou muito grande amigo, dá pra diminuir isso aí e muito... Compartilhar este post Link para o post Compartilhar em outros sites
rogerss_7 0 Denunciar post Postado Março 28, 2007 opa, vlw por responder, em que sentido tu fala diminuir? este algoritmo eu só posso desenvolver no Se e Senão, poderia criar vetores e tal mas não posso, se tu souber de algo interessante pra diminuir nesta regra por favor me fala.abraços. Compartilhar este post Link para o post Compartilhar em outros sites
paulo_linux 0 Denunciar post Postado Março 28, 2007 opa, vlw por responder, em que sentido tu fala diminuir? este algoritmo eu só posso desenvolver no Se e Senão, poderia criar vetores e tal mas não posso, se tu souber de algo interessante pra diminuir nesta regra por favor me fala.Ah cara, me desculpe, achei que poderia ser feita de outra forma... Compartilhar este post Link para o post Compartilhar em outros sites
rogerss_7 0 Denunciar post Postado Março 28, 2007 nem esquenta a cabeça..... eu iria ficar feliz se pudesse também.... mas o que tu acha, ficou bem feito? vlw por responder Compartilhar este post Link para o post Compartilhar em outros sites
paulo_linux 0 Denunciar post Postado Março 28, 2007 Ficou bom, como você sabe, na área de programação, cada programador pensa de um jeito, cada um tem sua lógica...A sua ai ficou boa, andei lendo suas condições, vou traduzir sua lógica para o pascal pra ver se ele roda direitinho mesmo... Compartilhar este post Link para o post Compartilhar em outros sites
rogerss_7 0 Denunciar post Postado Março 28, 2007 vlw pela força.... obrigado mesmo.... na verdade acho que não tem como fazer de outro jeito sem dar todas as possibilidades de combinações.... vlw Compartilhar este post Link para o post Compartilhar em outros sites
paulo_linux 0 Denunciar post Postado Março 28, 2007 vlw pela força.... obrigado mesmo.... na verdade acho que não tem como fazer de outro jeito sem dar todas as possibilidades de combinações.... vlwvocê está equivocado amigo! Como eu já disse a você, cada programador tem uma lógica, na sala da faculdade, quando o professor manda fazer um sistema, cada aluno faz um sistema diferente, porém, o resultado de cada sistema foca no mesmo resultado...Para provar isso a você, fiz aqui em pascal esse sisteminha que você queria fazer, ele ira colocar os números de forma decrescente, mais isso é só mudar a forma se você quiser crescente, isso é muito fácil... Eu poderia ter colocado um contador perguntando quantos números você queria comparar, ao invés de só quatro, poderia colocar quantos quiser, era só digitar numa pergunta do computador, quantos números deseja, mais não coloquei isso pois seu problema não é infinito de números e sim comparação entre 4 números...Cole este código no pascal e compile, você vai achar legal o que ele fará, repare que minha lógica é totalmente diferente da sua, não tem nada haver uma com a outra...Program Maior_menor; var n1,n2,n3,n4, res1, res2,res3,res4: integer; Begin writeln('Digite o numero 1'); readln(n1); writeln('Digite o numero 2'); readln(n2); writeln('Digite o numero 3'); readln(n3); writeln('Digite o numero 4'); readln(n4); if n1 > n2 then begin res1:=n1; res2:=n2; end else begin res1:=n2; res2:=n1; end; if n3 > n4 then begin res3:=n3; res4:=n4; end else begin res3:=n4; res4:=n3; end; if (res1 > res3) and (res3 > res2) then begin if res2 > res4 then begin writeln('A sequência de maior pra menor dos números digitados é:'); writeln(res1,', ',res3,', ',res2,', ',res4); end else begin writeln('A sequência de maior pra menor dos números digitados é:'); writeln(res1,', ',res3,', ',res4,', ',res2); end; end; if (res1 > res3) and (res3 < res2) then begin writeln('A sequência de maior pra menor dos números digitados é:'); writeln(res1,', ',res2,', ',res3,', ',res4); end; if (res1 < res3) and (res1 > res4) then begin if res2 > res4 then begin writeln('A sequência de maior pra menor dos números digitados é:'); writeln(res3,', ',res1,', ',res2,', ',res4); end else begin writeln('A sequência de maior pra menor dos números digitados é:'); writeln(res3,', ',res1,', ',res4,', ',res2); end; end; if (res3 > res1) and (res1 < res4) then begin writeln('A sequência de maior pra menor dos números digitados é:'); writeln(res3,', ',res4,', ',res1,', ',res2); end; End. Compartilhar este post Link para o post Compartilhar em outros sites