Escrever uma função int pares(int v[], int n, int w[] ), que recebe como parâmetros um vetor ( v ) e seu tamanho ( n ), determina o vetor w e retorna o tamanho de w. 0 vetor w deve conter apenas os valores pares presentes no vetor v. Testar a função para vetores v gerados aleatoriamente.

Passo 1

Resumindo o que temos: queremos escrever uma função em C chamada pares que receba um vetor v de tamanho n e um vetor w vazio, preencha w só com os elementos pares de v e retorne quantos pares encontrou. O conteúdo aqui é manipulação de vetores, laço for, teste de paridade e contadores.

Passo 2

A estratégia geral é percorrer o vetor v com um índice i de 0 até n–1. Vamos manter um contador count inicializado em 0 que indica quantos pares já copiamos para w.

Passo 3

Para cada elemento v[i], usamos o teste de paridade v[i] % 2 == 0. Se for par, colocamos w[count] = v[i] e incrementamos count.

Passo 4

Depois de varrer todo o v, a variável count terá o número total de elementos pares e o vetor w estará preenchido nos índices de 0 até count–1. Basta retornar count.

Passo 5

Para testar a função, no main geramos um vetor v com valores aleatórios (usando rand()), chamamos pares(v, n, w), recebemos o tamanho de w e imprimimos tanto v quanto w para verificar se copiamos corretamente só os pares.

Resposta

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int pares(int v[], int n, int w[]) {
int count = 0;
for (int i = 0; i < n; i++) {
if (v[i] % 2 == 0) {
w[count] = v[i];
count++;
}
}
return count;
}
int main() {
const int N = 10;
int v[N], w[N];
srand((unsigned)time(NULL));
// preenche v com valores aleatórios de 0 a 99
for (int i = 0; i < N; i++) {
    v[i] = rand() % 100;
}

int tamanho_w = pares(v, N, w);

printf("Vetor original v:\n");
for (int i = 0; i < N; i++) {
    printf("%d ", v[i]);
}
printf("\n\nVetor de pares w (tamanho = %d):\n", tamanho_w);
for (int i = 0; i < tamanho_w; i++) {
    printf("%d ", w[i]);
}
printf("\n");

return 0;
}

Exercícios relacionados