• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

oiz

Devolução de ponteiros

7 mensagens neste tópico

boas ppl

tou a começar a dar ponteiros em programação e amanha ha exame  :wallbash:.

enkuanto tava aki a fazer exercicios deparei-me com um problema que me pede o seguinte:

-Desenvolva uma função que receba, como argumentos, o nome e a dimensão de um array

de números reais e devolva um ponteiro para o elemento que mais se aproxima da média de

todos os elementos do array.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

eskeci-me de dizer ke a minha duvida principal é a de devolver um ponteiro numa função.isso é que eu n sei mm como fazer ja tentei de td.

obrigado

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Podes fazer algo do genero:

int funcao(float array[], int dim){

... codigo para achar a media ...

return &array[valor_mais_proximo_da_media];

}

float *p;

p = funcao(array,dim);

Não sei se é isto queres mas deve funcionar. Agora existem formas mais simples de fazer o mesmo.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

humm mas nesse caso ta a devolver o endereço para onde o ponteiro no main ira apontar mas n ta a devolver o ponteiro em si.

sinceramente tb n tou a perceber bem se é isso ke kerem no exercicio. ;)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Para uma função devolver um apontador para um inteiro deve ser declarada como int *.

o que tu pretendes é algo assim:

int *funcao(int *v,int n) {
  int i,min,*mini;
  //achar media
  min = abs(v[0]-media);
  for (i=1;i<n;i++) {
    if (abs(v[i]-media)<min) {
      min = abs(v[i]-media);
      mini = &v[i];
    }
  }
  return mini;
}

Não teste, mas já dá para tu perceberes como retornar um ponteiro.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

´´e capaz de ser isso..pelo menos ta mais proximo dakilo ke eu axava ke era..:s vou ver e testar.thankz

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora