AprendizC 0 Denunciar post Postado Novembro 17, 2008 :mellow: Boa tarde, sou eu de novo galera, mas prometo que é o último exercício que eu peço ajuda hoje. Estou fazendo uma lista de exercícios e os que eu não consigo fazer sozinho estou postando aqui. Meu SO é o Windows XP e meu Compilador é o DEV C++ 4.9.9.2. O exercício segue abaixo: Função que receba como parâmetro três números inteiros e imprima estes números em ordem. Estou vendo que da maneira que estou fazendo vai ser uma cadeia de if muito grande, alguém tem uma idéia melhor ? O meu código até agora está assim: #include <stdio.h> #include <stdlib.h> void Ordem (int n1, int n2, int n3){ int A, B, C; if(n1 >= n2 && n1 >= n3 && n2 >= n3 ) A=n3; B= n2; C= n1; if(n2>= n1 && n3>= n3 && n1>= n3) A=n3; B=n1; C=n2; if(n3>=n1 && n3>=n2 && n1>=n2) A =n2; B= n1; C=n3; printf("%d %d %d", A,B,C); } int main(){ int n1,n2,n3; printf("Digite o primeiro numero: "); scanf("%d",&n1); printf("Digite o segundo numero: "); scanf("%d",&n2); printf("Digite o terceiro numero: "); scanf("%d",&n3); Ordem(n1, n2, n3); printf("\n\n"); system("PAUSE"); return 0; } Compartilhar este post Link para o post Compartilhar em outros sites
_Isis_ 202 Denunciar post Postado Novembro 17, 2008 Use um array. Compartilhar este post Link para o post Compartilhar em outros sites
AprendizC 0 Denunciar post Postado Novembro 17, 2008 :blink: Não posso, a apedido do Professor é para resolver esse exercício sem Vetores. Compartilhar este post Link para o post Compartilhar em outros sites
_Isis_ 202 Denunciar post Postado Novembro 17, 2008 Então faca a comparacao à medida que você for lendo, e não depois de ler tudo. Compartilhar este post Link para o post Compartilhar em outros sites
AprendizC 0 Denunciar post Postado Novembro 17, 2008 http://forum.imasters.com.br/public/style_emoticons/default/blush.gif Pode me dar um exemplo de como faz isso ? Compartilhar este post Link para o post Compartilhar em outros sites
_Isis_ 202 Denunciar post Postado Novembro 17, 2008 #!/usr/bin/python maior = input() TMP = input() medio,maior = min(maior,TMP),max(maior,TMP) TMP = input() menor = 0 if TMP < medio: menor = TMP elif medio < TMP and TMP < maior: menor, medio = medio,TMP else: menor, medio, maior = medio,maior,TMP Compartilhar este post Link para o post Compartilhar em outros sites
AprendizC 0 Denunciar post Postado Novembro 18, 2008 :wacko: Eu não entendi esse código não, tem outra maneira mais simples de fazer? Compartilhar este post Link para o post Compartilhar em outros sites
AprendizC 0 Denunciar post Postado Novembro 18, 2008 http://forum.imasters.com.br/public/style_emoticons/default/grin.gif Encontrei outra maneira de resolver o meu problema, vou postar aqui o código caso outro iniciante com programação tenha a mesma dúvida. Até as minhas próximas dúvidas ou até eu ter alguma coisa legal para postar aqui. #include <stdio.h> void main (void) { int a,b,c; int aux; printf("entre com tres numeros:"); scanf("%d%d%d",&a,&b,&c); if(a>b) { aux=a; a=b; b=aux; } if(a>c) { aux=a; a=c; c=aux; } if(b>c) { aux=b; b=c; c=aux; } printf("%d%d%d", a,b,c); } http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif Valeu galera !!! Compartilhar este post Link para o post Compartilhar em outros sites
_Isis_ 202 Denunciar post Postado Novembro 19, 2008 Agora leia o básico de python e entenda o que eu fiz... Compartilhar este post Link para o post Compartilhar em outros sites