Senhores eu criei este programa a lógica esta correta já revisei o código até que ele compila normalmente porém ele dá crash se alguém com mais experiência puder verificar o que esta ocorrendo ficaria grato.
Segue o código abaixo:
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
int alocacao(tam)
{
int *vet,*vpar;
int tam1,j=0,i=0;
vet= (int *) malloc(sizeof(int)*tam);
if(vet==NULL)
return 0;
for(i=0;i<tam;i++)
{
printf("Digite o [%d] numero:",i);
scanf("%d",vet[i]);
printf("\n");
fflush(stdin);
if(vet[i]%2==0){
tam1++;}
}
vpar=(int *)malloc(sizeof(int)*tam1);
if(vpar==NULL)
return 0;
for(i=0;i<tam;i++)
{
if(vet[i]%2==0)
{
vpar[j]=vet[i];
j++;
}
}
for(i=0;i<tam1;i++)
{
printf("Os numeros pares sao: %d",vpar[i]);
}
free(vet);
free(vpar);
}
int main()
{
int tam;
printf("Informe o tamanho do vetor:");
scanf("%d",&tam);
fflush(stdin);
printf("\n");
alocacao(tam);
system("PAUSE");
return (0);
}
Segue o código abaixo:
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
int alocacao(tam)
{
int *vet,*vpar;
int tam1,j=0,i=0;
vet= (int *) malloc(sizeof(int)*tam);
if(vet==NULL)
return 0;
for(i=0;i<tam;i++)
{
printf("Digite o [%d] numero:",i);
scanf("%d",vet[i]);
printf("\n");
fflush(stdin);
if(vet[i]%2==0){
tam1++;}
}
vpar=(int *)malloc(sizeof(int)*tam1);
if(vpar==NULL)
return 0;
for(i=0;i<tam;i++)
{
if(vet[i]%2==0)
{
vpar[j]=vet[i];
j++;
}
}
for(i=0;i<tam1;i++)
{
printf("Os numeros pares sao: %d",vpar[i]);
}
free(vet);
free(vpar);
}
int main()
{
int tam;
printf("Informe o tamanho do vetor:");
scanf("%d",&tam);
fflush(stdin);
printf("\n");
alocacao(tam);
system("PAUSE");
return (0);
}
Comment