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
, que será o tamanho do vetor. Em seguida, alocamos um bloco de memória para armazenar
inteiros usando
malloc
.Passo 3
Usamos um laço valores do vetor, armazenando cada número no espaço alocado.
Em outro laço
for
para ler os
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>
#include <stdlib.h>
int main() {
int n;
int *vetor;
int i;
int count_par = 0;
int count_impar = 0;
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;
}