Faça um programa que leia do usuário o tamanho de um vetor a ser lido e faça a alocação dinâmica de memória. Em seguida, leia do usuário seus valores e mostre quantos dos números são pares e quantos são ímpares.

Passo 1

O exercício pede um programa em C para ler dinamicamente um vetor de inteiros, contar quantos são pares e quantos são ímpares e exibir esses totais. O conteúdo envolve alocação dinâmica de memória (malloc/free), leitura de dados, estruturas de repetição e operações aritméticas.

Passo 2

Começamos lendo do usuário um inteiro n, que será o tamanho do vetor. Em seguida, alocamos um bloco de memória para armazenar n inteiros usando malloc.

Passo 3

Usamos um laço for para ler os n valores do vetor, armazenando cada número no espaço alocado.
Em outro laço for, ou dentro do mesmo laço de leitura, usamos o operador módulo (%) para verificar se cada número é par (resto zero) ou ímpar (resto diferente de zero), incrementando contadores específicos.

Passo 4

Após a leitura e contagem, exibimos na tela o total de números pares e o total de números ímpares.

Passo 5

Por fim, liberamos a memória alocada com free para evitar vazamento de memória.

Resposta

#include <stdio.h>
#include <stdlib.h>
int main() {
int n;
int *vetor;
int i;
int count_par = 0;
int count_impar = 0;
printf("Digite o tamanho do vetor: ");
if (scanf("%d", &n) != 1 || n <= 0) {
    printf("Tamanho inválido.\n");
    return 1;
}

vetor = (int *)malloc(n * sizeof(int));
if (vetor == NULL) {
    printf("Falha na alocação de memória.\n");
    return 1;
}

for (i = 0; i < n; i++) {
    printf("Digite o elemento %d: ", i + 1);
    scanf("%d", &vetor[i]);
    if (vetor[i] % 2 == 0) {
        count_par++;
    } else {
        count_impar++;
    }
}

printf("Quantidade de números pares: %d\n", count_par);
printf("Quantidade de números ímpares: %d\n", count_impar);

free(vetor);
return 0;
}

Exercícios relacionados