Solicito ajuda para transformar esse código:
Crie um vetor dinâmico de tamanho informado pelo usuário.
Solicite os valores do vetor ao usuário.
Em seguida, imprima o conteúdo do vetor.
int main()
{
int num;
printf("Digite a quantidade de números:\n");
scanf("%d",&num);
int *p;
int i;
int vetor[num];
int aux=0;
p=(int*)malloc(num*sizeof(int));
printf("Digite os valores:\n");
for(i=0; i<num; i++)
{
scanf("%d",&vetor[i]);
p[i]=aux;
aux++;
}
printf("Posição\t\tValor\n");
for(i=0; i<num; i++)
{
printf("%d \t\t %d\n",p[i],vetor[i]);
}
return 0;
}
Agora:
Converta o código do exercício anterior de forma a termos:
procedimento para preencher o vetor, solicitando os valores ao usuário.
procedimento para imprimir o vetor.
função para efetuar a alocação dinâmica do vetor, retornando o endereço alocado para o mesmo.
void preenche(int vetor[],int tam){
printf("Qual é o tamanho do vetor?\n");
scanf("%d",&tam);
printf("Insira os valores do vetor:\n");
for(int i=0;i<tam;i++){
scanf("%d",&vetor[i]);
}
}
void imprime(int vetor[],int tam){
int i=0;
for(int i=0;i<tam;i++){
printf("%d\n",&vetor[i]);
}}
int aloca(int vetor[],int tam){
int *p;
int aux=0;
p=(int*)malloc(tam*sizeof(int));
for(int i=0;i<tam;i++){
p[i]=aux;
aux++;
}
return &p;}
main(){
int *resp;
int tam=0;
int vetor[tam];
preenche(vetor,tam);
imprime(vetor,tam);
*resp=aloca(vetor,tam);
for(int i=0;i<tam;i++){
printf("memória: %d",&resp[i]);
}
return 0;}