Ir ao conteúdo
  • Cadastre-se

C Encontrar número primo no vetor


Gabbie1
Ir à solução Resolvido por Lucca Rodrigues,

Posts recomendados

Alguém pode me ajudar com esse código? Ele não retorna nada. 

Leia 10 números inteiros e armazene em um vetor. Em seguida escreva os elementos que são primos e suas respectivas posições no vetor 
 
*/ 

#include <stdio.h>
#include <locale.h>
#define tam 3


int main (void){ 
setlocale (LC_ALL, ""); 
int vet[tam], i, cont=0; 

		for (i=0;i<tam;i++){
			printf ("Entre com um número:"); 
			scanf ("%d", &vet[i]); 
		}
		
				for (i=2; i<tam; i++){ 
					if (vet[i]%i== 0)   
					cont++;  
							if (cont == 0)
							printf ("[%d]: %d é primo!",i, vet[i]);
			 
 
}
 

return 0; 
}

 

Link para o comentário
Compartilhar em outros sites

  • Solução

@Gabbie1

15 minutos atrás, Gabbie1 disse:
for (i=2; i<tam; i++){ 
    if (vet[i]%i== 0)   
        cont++;  
    if (cont == 0)
        printf ("[%d]: %d é primo!",i, vet[i]);


}

Acredito que sua intenção com isso era verificar o resto da divisão dos elementos do vetor `vet` com valores partindo de 2 até o valor de `vet` - 1, mas veja que você está incrementando um índice `i` que está sendo usado para indexar o vetor `vet`, e também esse índice `i` não é incrementado até atingir o valor de `vet` - 1, mas sim até atingir o valor de `tam`.

Aliás, o vetor deve ter espaço para 10 elementos, e você terá que atribuir 0 à `cont` sempre que precisar avaliar outro valor de `vet`.

Você pode usar dois loops, veja:

#define tam 10

#include <stdio.h>

int main (void){ 
    
    int vet[tam], cont; 
    
    for (int i = 0; i < tam; i++)
    {
        printf ("Insira um numero maior que 1: "); 
        scanf ("%d%*c", &vet[i]); 
    }
    
    puts("\nNumeros primos encontrados:");
    for (int i = 0; i < tam; i++)
    {
        cont = 0;
        for (int j = 2; j < vet[i]; j++)
        {
            if (vet[i] % j == 0)   
                cont++;
        }
        if (cont == 0)
            printf("Numero: [%d] | Posicao no vetor: [%d]\n", vet[i], i);
    }
    
    return 0; 
}
  • Amei 1
Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...