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