Eu tenho que criar um programa que resolva esse problema:
"Faça uma função que receba um vetor X de 30 elementos inteiros, por parâmetro, e
retorne dois vetores A e B. O vetor A deve conter os elementos pares e o vetor B, os
elementos ímpares."
Meu código:
#include <stdio.h>
#define TAM 6
void geraVetor(int[], int[], int[], int*, int*); /*Recebe X, A e B*/
int main()
{
int X[TAM], A[30], B[30], i, tamA=0, tamB=0;
//Lendo o vetor X.
for(i=0; i<TAM; i++){
printf("Entre com o valor %d: ", i+1);
scanf("%d", &X[i]);
}
geraVetor(X, A, B, &tamA, &tamB);
printf("Vetor X:\n\n");
for(i=0; i<TAM; i++)
printf("%d\n", X[i]);
printf("\nVetor A:\n\n");
for(i=0; i<tamA; i++)
printf("%d\n", A[i]);
printf("\nVetor B:\n\n");
for(i=0; i<tamB; i++)
printf("%d\n", B[i]);
return 0;
}
void geraVetor(int X[], int A[], int B[], int *tamA, int *tamB){
int i;
for(i=0; i<TAM; i++){
if(X[i]%2 == 0){
A[*tamA] = X[i];
*tamA++;
}
else{
B[*tamB] = X[i];
*tamB++;
}
}
}
Quando eu vou imprimir os arrays A e B o programa só deixa um espaço vazio.
OBS: Ele imprime os valores de X.
Se alguém conseguir achar os meus erros, eu agradeço muito!