Faça um programa que leia um número Ne :
  • Crie dinamicamente e leia um vetor de inteiro de N posições;
  • Leia um número inteiro X e conte e mostre os múltiplos desse número que existem no vetor.

Passo 1

Resumo do enunciado: precisamos ler um número inteiro Ne, criar dinamicamente um vetor de inteiros de tamanho Ne, preencher esse vetor com valores lidos, ler um inteiro X e, por fim, contar e mostrar todos os múltiplos de X que aparecem no vetor.

Passo 2

Para alocar o vetor dinamicamente em C, vamos usar a função malloc. Precisamos incluir <stdlib.h> para isso. A ideia é reservar Ne × sizeof(int) bytes.
Depois de alocar, percorremos o vetor com um laço for de 0 até Ne–1, lendo cada elemento com scanf e armazenando em v[i].
Em seguida, lemos o inteiro X com scanf.

Passo 3

Agora inicializamos um contador cont = 0 e fazemos outro for de 0 até Ne–1. A cada elemento v[i], testamos se v[i] % X == 0. Se for, imprimimos v[i] e incrementamos cont.
No final, imprimimos o total de múltiplos cont encontrados.

Passo 4

Por fim, liberamos a memória alocada com free(v) e encerramos o programa.

Resposta

#include <stdio.h>
#include <stdlib.h>
int main() {
int Ne;
scanf("%d", &Ne);
int *v = (int *)malloc(Ne * sizeof(int));
if (v == NULL) {
    printf("Erro de alocação\n");
    return 1;
}

for (int i = 0; i < Ne; i++) {
    scanf("%d", &v[i]);
}

int X;
scanf("%d", &X);

int cont = 0;
printf("Múltiplos de %d:\n", X);
for (int i = 0; i < Ne; i++) {
    if (v[i] % X == 0) {
        printf("%d\n", v[i]);
        cont++;
    }
}

printf("Total de múltiplos = %d\n", cont);

free(v);
return 0;
}

Exercícios relacionados