Ir ao conteúdo
  • Cadastre-se
Vitor Guilhen

C Algorítmo complicado ( para mim )

Recommended Posts

Eu estou a 1 dia tentando resolver isso pra minha faculdade, nao estou conseguindo, eu fiz vários jeitos diferentes, mas nenhum deu certo
sao 4 exercícios, 2 usando o " WHILE ", e 2 usando o " FOR ", esse exercício em questão é usando o " FOR ", n estou achando uma maneira de encaixá-lo aqui..

 

Faça um programa que solicite ao usuário 5 números inteiros e, ao final, informe
a quantidade de números ímpares e pares lidos. Calcule também a soma dos
números pares e a média dos números ímpares.

Compartilhar este post


Link para o post
Compartilhar em outros sites

para saber si um numero é par é só dividir ele por 2, se sobrar zero esse número é par. porém com o operador / não é possível, você precisa usar %. algo como if( X%2 == 0) {é par}else{ímpar}.
O resto se trata de contadores e acumuladores.

Faça um programa com um for que funcione 5 vezes e dentro ponha aquele if. Logo é só incrementar um contador dentro do par e outra dentro do ímpar para saber quantos pares e ímpares você tem, E o mesmo acontece com o acumulador para calcular a soma dos pares. A media é a soma de pares dividido pelo numero de pares que existir.

 

Não sei si ficou claro mas com dar uma busca em internet tem milhões de exemplos.

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites
#include <stdio.h>
#define MAX 5


int main(int argc, char **argv)
{
	int pares[MAX];
	int impares[MAX];
	int vet[MAX];
	int a,b;
	float media;
	int soma;
	int j;
	soma=media=a=b=0; // inicializando as variaveis todas em 0
	
	// recebendo os valores
	for (int i = 0; i < MAX; i++)
	{
		scanf("%d",&vet[i]);
		if(vet[i]%2==0) // verificando se o valor recebido é par
		{
			pares[a]=vet[i];
			a++; // adcionando um valor a mais no indice do ar 
		}else // se o valor recebido não for par , então é impar 
		{
			impares[b]=vet[i];
			b++;// adcionando um valor a mais no indice do impar 
		}
	}
	
	// verificando a soma dos valores pares 
	for  (int i = 0; i < a; i++)
	{
		soma+=pares[i];
	}
	
	// verificando a media dos valores impares
	for (j = 0; j < b; j++)
	{
		media +=impares[j];
	}
	media/=j;
	
	printf("Numeros impares -> %d\nNumeros pares -> %d\nSoma dos pares -> %d\nMedia dos impares -> %.1f"
	,b,a,soma,media);
	return 0;
}

Ta ae mano! bons estudos ! :) 

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Poisoned00 Seu programa vai funcionar, mas acredito que o @Vitor Guilhen ainda não aprendeu vetores, pois esse exercício não é um exercício que normalmente se peça na fase em que o aluno já tenham aprendido vetores.

 

E esse exercício pode ser resolvido sem usar vetores, basta fazer um ciclo for e dentro fazer o programa pedir para o usuário digitar um número, e imediatamente após o usuário fornecer um número fazer as somas respectivas (dos números pares ou números ímpares, e das quantidades de números pares ou números ímpares). E só calcula a média depois que sair do ciclo for (quando você terá as somas necessárias para poder calcular).

  • Curtir 2

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro 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 publicações 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

×