função que retorna vetor
1. Fazer um subalgoritmo que receba, por parâmetro um vetor K(15) e retorne, também, por parâmetro, um vetor P contendo apenas os valores primos de K.
#include <stdio.h>
#include <stdlib.h>
#define N 5
void VerificaPrimos(int k[], int *p);
int Primo(int a);
int main()
{
int k[N], *p;
int i;
for(i=0;i<N;i++)
{
printf("Digite um valor para V[%d]: ",i);
scanf("%d",&k[i]);
p = '\0';
}
VerificaPrimos(k,p);
for(i=0;i<N;i++)
{
printf("\nPrimos do vetor: %d",p[i]);
}
free(p);
return 0;
}void VerificaPrimos(int k[], int *p)
{
int i;
int qtd = 1;
for(i=0;i<N;i++)
{
if(Primo(k[i]) == 1)
{
p = (int*)calloc(qtd,sizeof(int));
if(p == NULL)
{
printf("\nESTOURO DE MEMORIA!");
exit(0);
}
qtd++;
p[i] = k[i];
}
}
}int Primo(int a)
{
int i;
int qtd_primos = 0;
for(i=2;i<=a;i++)
{
if(a%i == 0)
{
qtd_primos++;
}
}
if(qtd_primos == 1)
{
return(1);
}
else
{
return(0);
}}Ta certo isso que eu fiz? Uma coisa, não tem como retornar um vetor por valor neh? Nesso caso, teria que declarar a variável vetor p já no main e passar como parâmetro neh? Ou tem outra forma?Essa minha alocação não ta funcionando tb, da um erro quando vou mostar o vetor p, alguém pode ajudar?
Discussão (22)
Carregando comentários...