Ir para conteúdo

Arquivado

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

GibaZoro

[Resolvido] exercício de ponteiros em C

Recommended Posts

Olá, gostaria que alguém resolvesse o seguinte exercício, estou apanhando pois comecei agora estudar estrutura de dados na faculdade, o exercício é o seguinte:

 

Faça um programa usando ponteiros, para ordenar 3 números e mostrá-los ordenados na tela.

 

Desde já agradeço a atenção!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Dê a mínima estudada sobre ponteiros e if's vai conseguir fazer esse exercício brincando.

 

Não faço porque não fazemos o dever de casa, ajudamos nas dúvidas. Por isso, o que já fez? Onde teve dúvidas?

 

 

 

Abraços :D

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fiz dessa maneira, estou indo pelo caminho certo?

 

 

#include<stdio.h>
int main() {
int a, b, c;
int *pa, *pb, *pc;
a = 23;
b = 88;
c = 1;
pa = &a;
pb = &b;
pc = &c;
*pa = 1;
*pb = 23;
*pc = 88;
printf("Em ordem crescente: %d, %d, %d\n", a, b, c);
printf ("Em ordem decrescente: %d, %d, %d", c, b, a);
return 0;
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pelo o que entendi desse exercício, também pode ser (depende se tiver aprendido entrada de dados ou não):

 

#include <stdio.h>

int main(void)
{
   int a, b, c, *pa = &a, *pb = &b, *pc = &c, *menor = pa, *maior = pa, *medio = pa;

   printf("Entre com 3 números, separados por espaços: ");
   scanf(" %d %d %d", pa, pb, pc);

   if(*pb > *maior)
       maior = pb;
   if(*pc > *maior)
       maior = pc;

   if(*pb < *menor)
       menor = pb;
   if(*pc < *menor)
       menor = pc;

   if(maior != pa && menor != pa)
       medio = pa;
   else if(maior != pb && menor != pb)
       medio = pb;
   else if(maior != pc && menor != pc)
       medio = pc;
   else
   {
       printf("Erro na lógica dos if's. Terminando...\n");
       return 1;
   }

   printf("Em ordem crescente: %d %d %d\n", *menor, *meio, *maior);
   printf("Em ordem decrescente: %d %d %d\n", *maior, *meio, *menor);

   return 0;
}

 

É claro que tem muitas formas de fazer, mas imaginei essa agora...

 

 

OBS: use as tags [ code] e [ /code] (sem o espaço) ao colocar o código no fórum.

 

 

 

Abraços :D

Compartilhar este post


Link para o post
Compartilhar em outros sites
#include<stdio.h>

int main(){

int a,b,c;

int *pa,*pb,*pc;

a=23;

b=88;

c=1;

pa=&a;

pb=&b;

pc=&c;

printf("Em ordem decrescente:%d,%d,%d\n",*pb,*pa,*pc);

printf("Em ordem crescente:%d,%d,%d\n",*pc,*pa,*pb);

}








Também podia resolver-se dessa maneira

Compartilhar este post


Link para o post
Compartilhar em outros sites
Visitante
Este tópico está impedido de receber novos posts.

×

Informação importante

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