Ir ao conteúdo
  • Cadastre-se
fernandoguialves

[Resolvido] Ponteiro em função.

Recommended Posts

O seguinte exercicio me foi passado:

"Crie uma função que receba um vetor de inteiros e converta cada número para seu valor absoluto.

O tamanho do vetor deve ser passado como parametro para a função, assim como o proprio vetor."

Não sei como usar a função, e acho que ela não esta certa...

Como usar ponteiro em uma função como essa?

E usar ela no programa?

Se alguem puder me ajudar... valeu!

#include <iostream>

float var_abs(float vet[],int tam)

{

for(int i=0;i<tam;i++)

{

if(vet<0)

vet = vet*(-1);

}

}

int main()

{

float Val;

int Num;

printf("\t\t\t\tVALOR ABSOLUTO\n");

printf("Entre com os Numeros:\n ");

scanf("%d",&Num);

scanf("%f",&Val);

Num=varabs(Val,Num);

printf(Num);

}

Compartilhar este post


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

void ConverteNumerosAbs(int vet[], int qtd)
{
int i;

for(i=0; i<qtd; i++)
{
if(vet[i] < 0) (vet[i]) *= (-1);
}
}

int main()
{
int num[5], i;

printf("\t\t\t\tVALOR ABSOLUTO\n");
printf("Entre com 5 valores\n ");

for (i=0; i<5; i++)
{
printf("\nDigite um numero: ");
scanf("%i",&num[i]);
}

ConverteNumerosAbs(num, 5);

for (i=0; i<5; i++)
{
printf("\n%i", num[i]);
}

return 0;
}

Compartilhar este post


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

void ConverteNumerosAbs(int vet[], int qtd)
{
int i;

for(i=0; i<qtd; i++)
{
if(vet[i] < 0) (vet[i]) *= (-1);
}
}

int main()
{
int num[5], i;

printf("\t\t\t\tVALOR ABSOLUTO\n");
printf("Entre com 5 valores\n ");

for (i=0; i<5; i++)
{
printf("\nDigite um numero: ");
scanf("%i",&num[i]);
}

ConverteNumerosAbs(num, 5);

for (i=0; i<5; i++)
{
printf("\n%i", num[i]);
}

return 0;
}

Ok... Muito Obrigado... Mas não tem um jeito de dxar o usuario

digitar quantos numeros ele quiser?

Compartilhar este post


Link para o post
Compartilhar em outros sites
Ok... Muito Obrigado... Mas não tem um jeito de dxar o usuario

digitar quantos numeros ele quiser?

Tem sim... mais ai fica por sua conta. :cool:

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fernando!

Pra que você quer usar REALLOC em um vetor que não é alocado dinamicamente, e que você já passou o tamanho dele quando declarou o mesmo?

Acho que o C nem vai permitir fazer isso!

REALLOC é usado junto com ALLOC e CALLOC.

P.ex.: se você alocou 10 bytes através de ALLOC ou CALLOC, e depois você precisa de 20 bytes, aí você usa REALLOC, mas, quando você já declara um vetor com a sua dimensão implícita, o C não permite mudar a quantidade de memória que foi reservada pra esse vetor.

Estude alocação dinâmica, mas, no caso desse seu programa, não vai servir pra nada.

Simplesmente declare o vetor com a quantidade de elementos que você precisa:

int num[1000], i;

Só isso!

[]'s

Editado por Maurício2006

Compartilhar este post


Link para o post
Compartilhar em outros sites

Caso o autor do tópico necessite, o mesmo será reaberto, para isso deverá entrar em contato com a moderação solicitando o desbloqueio.

Compartilhar este post


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





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×