Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Anselmo Rangel

Lê três números inteiros do teclado, e imprime os três nuumeros em ord

Recommended Posts

Galera, alguèm pode me ajudarLê três números inteiros do teclado, e imprime os três nuumeros em ordem crescente.Lê três números inteiros do teclado, e imprime os três numeros em ordem decrescente.

Compartilhar este post


Link para o post
Compartilhar em outros sites

poste o código, o erro que está dando e tentamos ajudar.

++++++++++++++++++++++++++++++++++++#include <stdio.h>int main(void){ int a,b,c; printf("Digite valor de A: "); scanf("%d",&a); printf("Digite valor de B: "); scanf("%d",&B); printf("Digite valor de C: "); scanf("%d",&c); if (a>b>c) printf("Ordem crescente: %d %d %d",a,b,c); else printf("Ordem decrescente: %d %d %d",c,b,a); fflush (stdin), getchar ();return 0;}++++++++++++++++++++++++++++++++++++Ele não esta colocando os numeros em ordem.Exemplo: Se você digitar -> 10, 100, 2. Ele imprime os valores na mesma ordem em que digitou.O certo seria imprimir os dois valores.Exemplo: crescente -> 2, 10, 100. decrescente -> 100, 10, 2.Eu preciso que ele faça isso.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você pode colocá-los de forma ordenada num vetor.e não use if( a>b>c ) isso só está verificando uma possibilidade...

Desculpe minha falta de conhecimento, estou começando agora.O que seria ordenada em um vetor?

Compartilhar este post


Link para o post
Compartilhar em outros sites
int vetor[3]; // posicao 0 = menor valor, posicao 1 = valor médio, posicao 2 = maior valorint a, b c, i;printf( "Digite os valores de a, b e c: " );scanf( "%d", &a );scanf( "%d", &b );scanf( "%d", &c );// Ordena os 3 valores lidos dentro de um vetor.if( a >= b && a >= c ) {   vetor[0] = a;   if( b >= c ) {	  vetor[1] = b;	  vetor[2] = c;   } else {	  vetor[1] = c;	  vetor[2] = b;   }} else if ( b >= a && b >= c ) {   vetor[0] = b;   if( a >= c ) {	  vetor[1] = a;	  vetor[2] = c;   } else {	  vetor[1] = c;	  vetor[2] = a;   }} else {   vetor[0] = c;   if( a >= b ) {	  vetor[1] = a;	  vetor[2] = b;   } else {	  vetor[1] = b;	  vetor[2] = a;   }}printf( "Numeros em ordem crescente: " );for( i = 0; i < 3; i++ ) {	printf( "%d ", vetor[i]);}printf( "\nNumeros em ordem decrescente: " );for( i = 3; i >= 0; i-- ) {	printf("%d ", vetor[i]);}

Compartilhar este post


Link para o post
Compartilhar em outros sites

int vetor[3]; // posicao 0 = menor valor, posicao 1 = valor médio, posicao 2 = maior valorint a, b c, i;printf( "Digite os valores de a, b e c: " );scanf( "%d", &a );scanf( "%d", &b );scanf( "%d", &c );// Ordena os 3 valores lidos dentro de um vetor.if( a >= b && a >= c ) {   vetor[0] = a;   if( b >= c ) {	  vetor[1] = b;	  vetor[2] = c;   } else {	  vetor[1] = c;	  vetor[2] = b;   }} else if ( b >= a && b >= c ) {   vetor[0] = b;   if( a >= c ) {	  vetor[1] = a;	  vetor[2] = c;   } else {	  vetor[1] = c;	  vetor[2] = a;   }} else {   vetor[0] = c;   if( a >= b ) {	  vetor[1] = a;	  vetor[2] = b;   } else {	  vetor[1] = b;	  vetor[2] = a;   }}printf( "Numeros em ordem crescente: " );for( i = 0; i < 3; i++ ) {	printf( "%d ", vetor[i]);}printf( "\nNumeros em ordem decrescente: " );for( i = 3; i >= 0; i-- ) {	printf("%d ", vetor[i]);}
Muito obrigado, valeu mesmo.Estou no cemeço ainda como eu ja disse, não conhecia o comando "vetor".Só tive um problema.Uso o "DEV C++", para compilar e ele da muito pal.Tem como você me endicar um outro que aceite melhor os programas sem dar tanto pal?

Compartilhar este post


Link para o post
Compartilhar em outros sites

você pode usar o metodo bolha.. mto conhecido dentre os metodos de ordenação..

trabalha praticamente somente com vetores unidimensionais.. eh um dos mais eficientes tb

 

int vetor[3],i,j,aux;printf("Entre com tres valores: \n");for(i=0;i<3;i++)  scanf("%d",&vetor[i]);for(i=0;i<2;i++)  for(j=i+1;j<3;j++)	 if(vetor[i]>vetor[j])	 {		 aux	  = vetor[i];		 vetor[i] = vetor[j];		 vetor[j] = aux;	  }printf("Numeros ordenados: CRESCENTE: ");for(i=0;i<3;i++)  printf("%d ",vetor[i]);printf("Numeros ordenados: DECRESCENTE: ");for(i=2;i>-1;i--)  printf("%d ",vetor[i]);

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara eu uso o Borland C++, ele trabalha tanto em C qt em C++.meu professor disse q Dev eh furada.Como ele foi feito pra sistema Unix ele tem q fazer uma especie de Emulação pra windows. Dai nesse processo da uns problemas mt loco...

Compartilhar este post


Link para o post
Compartilhar em outros sites

você pode usar o metodo bolha.. mto conhecido dentre os metodos de ordenação..trabalha praticamente somente com vetores unidimensionais.. eh um dos mais eficientes tb

A ordenação bolha pode ser a mais conhecida, mas está longe de ser a mais eficiente... Na verdade, está mais perto de ser a pior já existente.Pode ser útil quando se trabalham com listas pequenas, como no caso anterior. Mas para listas maiores ela é extremamente lenta por seu processo repetitivo de trocas.

Compartilhar este post


Link para o post
Compartilhar em outros sites

você pode usar o metodo bolha.. mto conhecido dentre os metodos de ordenação..trabalha praticamente somente com vetores unidimensionais.. eh um dos mais eficientes tb

A ordenação bolha pode ser a mais conhecida, mas está longe de ser a mais eficiente... Na verdade, está mais perto de ser a pior já existente.Pode ser útil quando se trabalham com listas pequenas, como no caso anterior. Mas para listas maiores ela é extremamente lenta por seu processo repetitivo de trocas.
você tem razao meu caro.. mas antes de sair falando e falando falando pelo forum a fora analizemos a seguinte situaçao: Algum programador iniciante posta no forum a procura de uma resposta para uma simples questao: ORDENAÇAO DE TRES VALORES. hmmO metodo mais indicado PARA ESTA SITUAÇAO eh o bolha...ow do contrario, faz favor de postar algum metodo mais eficiente..bj na b..da

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu não disse que ele não funcionava neste caso, eu disse que ele era até bem útil para listas pequenas.Você falou que o método bolha é um dos mais eficientes, e isto vai iludir o "iniciante", como você mesmo disse.Não deixe ele crescer com esta ilusão, corrija seu erro e finalize a discussão.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu acabei de dizer que o método bolha é eficiente para este caso mas é um dos piores existentes para listas maiores.

 

Aprenda a ler.

 

E se você acha que o que posto é sem lógica você que tem problemas com o raciocínio lógico.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cresce amigo... cresce...Fica entregando código pronto pro pessoal aí e acha que sabe alguma coisa =P. Quando você começar a aprender você vai ver que é melhor ensinar a pescar.E pra sua informação não estou no ensino fundamental. E nem você deve estar, já que alguém do ensino fundamental é mais racional que você.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.