Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

LucasPS

[Resolvido] Calcular qtos positivos e somar negativos

Recommended Posts

Galera, seguinte, preciso fazer um programa que o usuario entra com x numeros e o programa diz quantos sao positivos e soma os negativos, algum pode me ajudar?

Compartilhar este post


Link para o post
Compartilhar em outros sites

simples cara, faça um laço para varrer todos os números, "filtre" os positivos assim: qualquer número dividido por 2 com resto zero é par, crie uma variável para contar quantas iterações o laço deu aqui, para mostrar a quantidade de números pares, para os que não forem pares, crie uma variável acumuladora e some estes. :D

Compartilhar este post


Link para o post
Compartilhar em outros sites
"filtre" os positivos assim: qualquer número dividido por 2 com resto zero é par, crie uma variável para contar quantas iterações o laço deu aqui, para mostrar a quantidade de números pares,

 

Groove,preste atenção.

Ele quer identificar números positivos e negativos e não pares e ímpares...

 

Só tem um if x < 0 p/ somar e um else if x > 0 p/ contar quantos positivos foram digitados.

Compartilhar este post


Link para o post
Compartilhar em outros sites

olha, o esquema é +- isso?

#include <stdio.h>
#include <stdlib.h>
int main(){
	int x,y=0,z=0;
	printf("ENTRE COM 0 QUANDO DESEJAR PARAR.\n");
	printf("Informe um numero: ");
	scanf("%d",&x);
	if(x<0){
		z=(z+x);
	} else if(x>0){
		y++;
	}
	if(x==0){
		printf("POSITIVOS: %d\nSOMA DOS NEGATIVOS: %d\n",y,z);
	}
	return 0;
}

tpw, queria que aquele aviso pra entrar com 0 qdo quiser parar aparecece uma vez só, e qdo digita um numero ele ja termina o programa, entao como faço pra continuar?

Compartilhar este post


Link para o post
Compartilhar em outros sites

hiaueuahasuieah viajei, malz =(

 

para fazer consistencia de dados use o do-while, ali no teu caso nao precisa usar else if, basta if e else.

Compartilhar este post


Link para o post
Compartilhar em outros sites

seria isso ^^

do
{
	printf("Digite um numero: ");
	scanf("%d",&x);
	.
	.
	.
}while(x != 0);

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara, é a mesma coisa que você fez antes, só coloque dentro do do-while agora..

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fiz assim:

#include <stdio.h>
#include <stdlib.h>
int main(){
	int x,y=0,z=0;
	printf("\nENTRE COM 0 QUANDO DESEJAR PARAR.\n\n");
	printf("Informe um numero: ");
	scanf("%d",&x);
	do{
		printf("SOMA DOS NEGATIVOS: %d\n\n",z);
		z=(z+x);
	} while(x<0);
	do{
		printf("TOTAL DE POSITIVOS: %d\n\n",y);
		y++;
	} while(x>0);
	system("pause");
	return 0;
}
só que quando você digita o numero ,negativo ou positivo, ele começa a somar e nao para mais, é pra somar 1 vez soh e aparecer pra digitar o numero novamente

tpw, o programa tem q ficar pedindo numero cada vez q o usuario digitar um numero, e só parar e mostrar o resultado quando o usuario entrar com 0..

Compartilhar este post


Link para o post
Compartilhar em outros sites

está errado, o do-while faz a consistencia de dados cara, "tudo" tem q estar entro dele, preste atenção no exemplo que eu dei...

Compartilhar este post


Link para o post
Compartilhar em outros sites

a nao tinha visto..

entao eu boto 2 vezes o printf pedindo pra digitar o numero e o scanf? uma no positivo e outra no negativo

 

tpw, vo pondo os positivos ele soma beleza, dai boto um negativo ele para o programa e mostra os resultados..

e tpw eu boto -4, a soma dos negativos da 1, deveria ser apenas -4

o code ta assim:

#include <stdio.h>
#include <stdlib.h>
int main(){
	int x,y=0,z=0;
	printf("\nDigite 0 quando quiser parar.\n\n");
	do{
		printf("Informe um numero: ");
		scanf("%d",&x);
		z=(z+(x));
	} while(x<0);
	do{
		printf("Informe um numero: ");
		scanf("%d",&x);
		y++;
	} while(x>0);
	printf("\nSoma dos Negativos: %d\n\n",z);
	printf("Total de Positivos: %d\n\n",y);
	system("pause");
	return 0;
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

novamente, você vai fazer uma soh vez o do-while, o cara vai ficar digitando ali dentro varias vezes ate que digite um zero, a cada iteração do do-while, você verifica se é positivo e conta a quantidade e faz o que tem que fazer se for negativo...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Prestem bem a atencao no enunciado...

outra coisa pra você usar o do..while vcs precisar definir uma condicao de paragem para a leitura dos dados, e nao pode ser maior nem menor que zero, pois o exercicio admite valores negativos e positivos, entao pensem bem se vale a pena o usar o do...while nst problema

Compartilhar este post


Link para o post
Compartilhar em outros sites

também acho que o zero deveria ser contado como positivo, mas nosso amigo quer que o zero seja a condição de parada, por isso o uso do do-while...

Compartilhar este post


Link para o post
Compartilhar em outros sites

um break no if também daria....

 

if(x > 0)
.
.
.
else if(x < 0)
.
.
.
else
	break;

Compartilhar este post


Link para o post
Compartilhar em outros sites

0 nao é positivo nem negativo, mas sim neutro, por isso 0 podia servir muito bem como condição de paragem...

Compartilhar este post


Link para o post
Compartilhar em outros sites

ahseiusauea pra mim zero é par, sabe de algum lugar falando sobre isso?

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.