Ir ao conteúdo
  • Cadastre-se

C++ Meu codigo compila executa, mas não mostra resultados


Jonathan Lira

Posts recomendados

//Soma de n numeros primos
#include <stdio.h>
int main() {
	
	int numero, i;
	int soma_primos=0;
	
	double aux, soma = 0;
	
	printf("Quantidade de numeros: ");
	scanf("%d", &numero);
	for (i = 1; i <= numero; i++) {
	printf("Digite um numero: ");
	scanf("%lf", &aux);
	}
	if (numero%2==0){
		soma=soma+numero;	
		}else{
			soma_primos += numero;
		}
	printf("Soma dos numeros primos e: %.2f\n", soma_primos);
	return 0;
}	

Meu código compila e executa, porém não mostra o resultado

Se puderem me ajudar desde já agradeço

  • Obrigado 1
Link para o comentário
Compartilhar em outros sites

Bom dia,

 

Porque a chamada da função printf falha na conversão de dados

Perceba que 'soma_primos' é tipo int, porém o especificador no argumento da função espera um tipo float.

printf("Soma dos numeros primos e: %.2f\n", soma_primos);

 

Só precisa  especificador certo correspondente ao dado.

"

 

 

Extra:

Citação





if (numero%2==0){
		soma=soma+numero;	
		}else{
			soma_primos += numero;
		}

Aqui aconteceria a soma de pares e ímpares 

 

 

 

E quais seriam esses resultados? Qual é a entrada certa, a saída certa?

"

  • Obrigado 2
Link para o comentário
Compartilhar em outros sites

@Jonathan Lira     isso mesmo como o @mauro_b   disse , porém , não é só esse detalhe que vai resolver , e para isso precisa saber  qual o objetivo de seu código , o que você quer que ele faça , pois ali seu código pega vários valores para a variável  aux  , e não faz nada com ela , e logo em seguida verifica se a quantidade de números é par ou ímpar ,

  • Curtir 2
Link para o comentário
Compartilhar em outros sites

@Jonathan Lira

 

A expressão booliana na declaração condicional IF decide se o ‘número’ é ou não par, que resolveu metade do problema, para mais é preciso condicional que decide se o ‘ímpar’ é ou não primo e quando sim soma-lo.

//Soma de n numeros primos
#include <stdio.h>

//tipo de dado  descritivo
typedef int     primos;
typedef int     quantidade;
typedef int     decimal_int;

int main (void){
	
	//declarar variaveis e inicializar com padrão
	primos soma= 0; quantidade n= 0; decimal_int numero= 0;
	
	//pegar quantidade  'n'
	printf ("Quantidade de numeros: ");
	scanf ("%d", &n);
	
	//pegar 'n'  numeros e 'somar'  somente se primo
	for (quantidade i= 1; i <= n; i++) {
	    
	    //pegar numero
	    printf ("Digite um numero: ");
	    scanf ("%d", &numero);
	
	    //se numero e par  'continue'  pegue o proximo
	    if ((numero % 2) == 0) {
		    continue;	

	    }
	    //senao
	    else {
	        //teste de primalidade e somar
	        puts ("Teste");
	    }
	}
	//mostra soma
	printf("Soma dos numeros primos e: %d\n", soma);
	
	//fim
	return 0;
}	

 

A implementação de um teste de primalidade é parte crucial do problema, seu compromisso e deveras fácil, exemplo, complemente a partir da definição matemática.

  • Obrigado 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...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!