Jump to content
mirador_22

[Resolvido] definir um array para guardar uma lista de elementos inseridos num outro array em C

Recommended Posts

mirador_22

Boas pessoal,

tenho definido um array de inteiro na qual será apontado por um ponteiro e depois tenho um outro array que irá armazenar apenas alguns numeros na quais são numero pares, eis o codigo...

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];

mostra os valores do vetor

printf("\n--- Vetor ---");
for (int i = 0; i < MAX; i++) {
	//mostra os valores do vetor
	printf("\nvalor : %d ", vetor[i]);
}

mostra os valores pares apontador ao vetor

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++;
	}
}

mostra os valores do novo vetor

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]);
}

//

mostra os valores do novo ponteiro

 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));
}

ao executar o programa

8A10S23.png?1//

a minha duvida é como mostrar os dados que foram adicionados ao novo array, ou seja, os numeros pares?

Alguma susgestão

Share this post


Link to post
Share on other sites
HappyHippyHippo
printf("\n\n--- Ponteiro Vetor para Numero Pares ---");
       for (int i = 0; i < MAX; i++) {
               if (*(ptr_vetor + i) % 2 == 0) {
                       printf("\nNumero Par : %d ", *(ptr_vetor + i));
                       novo_vetor[i] = *(ptr_vetor + i);                // em que posção do array "novo_vetor" estás a gravar o número par ?

Edited by HappyHippyHippo

IRC : sim, é algo que ainda existe >> #p@p

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.