4
I have defined a array integer in which it will be pointed by a pointer and then I have another array which will store only a few numbers in which are even numbers, here is the code...
void main(void) {
srand(time(NULL));
//vetor de dimensao 10
int vetor [MAX] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
//apontador para vetor
int *ptr_vetor;
//novo vetor
int novo_vetor[MAX];
//apontador para novo vetor
int *ptr_novo_vetor;
//escolher numero
int escolha = 0;
//contador
int contador = 0;
//ponteiro apontado ao primeiro vetor
ptr_vetor = &vetor[0];
}
shows the values of the vector
printf("\n--- Vetor ---");
for (int i = 0; i < MAX; i++) {
//mostra os valores do vetor
printf("\nvalor : %d ", vetor[i]);
}
shows even values pointing to the vector
printf("\n\n--- Ponteiro Vetor para Numero Pares ---");
for (int i = 0; i < MAX; i++) {
//escolha apenas numeros pares
if (*(ptr_vetor + i) % 2 == 0) {
//mostra os valores pares apontador ao vetor
printf("\nNumero Par : %d ", *(ptr_vetor + i));
//adiciona o numero par ao novo vetor
novo_vetor[i] = *(ptr_vetor + i);
//aqui devia receber apenas os dados do novo vetor mas
//mostra aepnas o endereço
ptr_novo_vetor = &novo_vetor[i];
//usei isto para iterar os jogadores, nao deu certo
//contador++;
}
}
shows the values of the new vector
printf("\n\n\n--- Novo Vetor ---");
for (int i = 0; i < MAX; i++) {
//mostra os valores do novo vetor
printf("\nvalor: %d ", novo_vetor[i]);
}
shows the values of the new pointer
printf("\n\n--- Ponteiro Novo Vetor ---");
for (int i = 0; i < MAX; i++) {
//mostra os valores do novo ponteiro
printf("\nNovo Vetor : %d ", *(ptr_novo_vetor+i));
}
when running the program
How to show the data that has been added to the new array, that is, even numbers?
Why do you create a pointer that points to the vector? the vector is already a pointer. See, *pt equals pt[n];
– Skywalker
Your problem is here
novo_vetor[i] = *(ptr_vetor + i);
create a counter for the new vector– Skywalker