Ir para o conteúdo

Publicidade

 Estatísticas do Fórum

  • 1 Usuários ativos

    0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

Cursos Online iMasters
Foto:

[Resolvido] exercício de ponteiros em C

  • Por favor, faça o login para responder
5 respostas neste tópico

#1 GibaZoro

GibaZoro
  • Membros
  • 6 posts

Postado 09 abril 2012 - 19:46

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!

Editado por Mário Monteiro, 10 abril 2012 - 17:06 .
Retirada a palavra "DÚVIDA" do Titulo ou Descrição

  • 0

#2 Renato Utsch

Renato Utsch

    Low Level Fanatic

  • Membros
  • 994 posts

Postado 09 abril 2012 - 20:22

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
  • 0

#3 GibaZoro

GibaZoro
  • Membros
  • 6 posts

Postado 09 abril 2012 - 21:04

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;
}

Editado por Renato Utsch, 09 abril 2012 - 21:15 .

  • 0

#4 Renato Utsch

Renato Utsch

    Low Level Fanatic

  • Membros
  • 994 posts

Postado 09 abril 2012 - 21:24

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
  • 0

#5 GibaZoro

GibaZoro
  • Membros
  • 6 posts

Postado 09 abril 2012 - 21:52

Obrigado, ajudou bastante, em relação a forma de colocar o códigos eu realmente não sabia, muito obrigado!!

  • 0

#6 Renato Utsch

Renato Utsch

    Low Level Fanatic

  • Membros
  • 994 posts

Postado 09 abril 2012 - 22:06

Sempre feliz em ajudar :)


Abraços :D

Editado por Renato Utsch, 09 abril 2012 - 22:06 .

  • 0




Publicidade

/ins>