Ir ao conteúdo
  • Cadastre-se

Ponteiro em função.


fernandoguialves

Posts recomendados

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

}

Link para o comentário
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;
}

Link para o comentário
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?

Link para o comentário
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

Link para o comentário
Compartilhar em outros sites

Arquivado

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

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades 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

×
×
  • Criar novo...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!