Ir ao conteúdo
  • Cadastre-se

C++ - Escreva um programa para ler N (Enquanto o usuário desejar) valores fornecidos


Duda1001

Posts recomendados

Enunciado:  Escreva um programa para ler N (Enquanto o usuário desejar) valores fornecidos pelo usuário e:

a-) calcular a média aritmética entre eles. b-) verificar qual é o maior e menor elemento entre os elementos lidos.

c-) verificar a qual faixa o elemento pertence.

Faixa 1 – Elementos < 0

Faixa 2 – Elementos >=0 e < 15

Faixa 3 – Elementos >=15 e < 100

Faixa 4 – Elementos >= 1000

Faixa 5 – Elementos >= 101 e < 1000

Contabilizar – - O total de elementos por faixa - O total da faixa

e-) verificar quais deles são pares ou ímpares

f-) contabilizar - Total de Pares e o total de Ímpares

O programa devera ser executado enquanto o usuário desejar.

 

Oii, eu consegui fazer ate a o "e". Eu to com um pouco de dificuldade de fazer o "f", eu consegui fazer ele contabilizar os pares e impares mais pra isso ele pede para digitar os números novamente. Alguém pode dar uma ajuda... 

#include <stdio.h>
#include <conio.h>
int main(void){
	
	char menu = 'S';
	int x,a,b,c,d,ma,i;
	
	do{

	
	printf ("Digite 4 numeros:\n");
	scanf ("%i%i%i%i",&a,&b,&c,&d);
	{

	//media aritmetica
	ma = (a+b+c+d)/4;
	printf ("A media aritmetica entre eles e: %d\n",ma);
}

	//maior
	{
	if (a>b && a>c && a>d)
	printf ("\nO numero maior e: %d\n",a);
}
	
	{
	
	if (b>a && b>c && b>d)
	printf ("\nO numero maior e: %d\n",b);
}
	{
			
	if (c>a && c>b && c>d)
	printf ("\nO numero maior e: %d\n",c);
	
}
	{
			
	if (d>a && d>b && d>c)
	printf ("\nO numero maior e: %d\n",d);
}

	//menor
	{
	if (a<b && a<c && a<d)
	printf ("\nO numero menor e: %d\n",a);
	
}
	{
	
	if (b<a && b<c && b<d)
	printf ("\nO numero menor e: %d\n",b);
}
	{
		
	if (c<a && c<b && c<d)
	printf ("\nO numero menor e: %d\n",c);
	
}
	{
		
	if (d<a && d<b && d<c)
	printf ("O numero menor e: %d\n",d);
}

	{
	//Faixa
	
	if (ma < 0)
	printf ("\nPertence a Faixa 1.\n");
}
{
	if (ma >=0)
	if (ma <15)
	printf ("\nPertence a Faixa 2.\n");
}
{
	if (ma >=15)
	if (ma <100)
	printf ("nPertence a Faixa 3.\n");
}
{
	if (ma >=1000)
	printf ("\nPertence a Faixa 4.\n");
}
{
	if (ma >=101)
	if (ma <1000)
	printf ("\nPertence a Faixa 5.\n");
}
		//par e impar
	if (a%2==0)
	printf ("\nO numero %d e par.\n",a);
	{
	if (b%2==0)
	printf ("\nO numero %d e par.\n",b);
	{
	if (c%2==0)
	printf ("\nO numero %d e par.\n",c);
	{
	if (d%2==0)
	printf ("\nO numero %d e par.\n",d);

}

	if (a%2==1)
	printf ("\nO numero %d e impar.\n",a);
	a= a + 2;
	{
		
	if (b%2==1)
	printf ("\nO numero %d e impar.\n",b);
	b = b + 2;
	{
	if (c%2==1)
	printf ("\nO numero %d e impar.\n",c);
	c= c + 2;
	{
	if (d%2==1)
	printf ("\nO numero %d e impar.\n",d);
	d = d + 2;
}
                    

}
}
}
}
		printf ("\nDeseja sair do programa? (S/N)");
		scanf ("\n%c",&menu);
	}while (menu != 'S');
	return 0;
}

 

 

 

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

@Duda1001

57 minutos atrás, Duda1001 disse:

Escreva um programa para ler N (Enquanto o usuário desejar) valores fornecidos pelo usuário

São N números que deverão ser lidos, certo?

No seu programa, ele lê apenas 4. Faça um loop para ler quantos números o usuário desejar, e para sair, ele poderia inserir 0 ou um número negativo, você decide, mas deixe bem claro o que o usuário deverá fazer para sair, provavelmente você vai precisar imprimir na tela algo como: "Insira os valores, digite 0 para sair:".

Você pode tanto armazenar os números em um vetor de inteiros para usar em outro loop, como realizar as questões a) à f) dentro deste mesmo loop. Você decide.

 

57 minutos atrás, Duda1001 disse:

a-) calcular a média aritmética entre eles.

Faça um loop para somar à uma variável todos os números inseridos e incrementar um contador a cada passagem no loop. Quando sair do loop, divida a variável da soma pelo contador. Perceba que a variável da soma deverá ser do tipo float ou double, pois a média aritmética nem sempre é um valor inteiro.

 

57 minutos atrás, Duda1001 disse:

b-) verificar qual é o maior e menor elemento entre os elementos lidos.

Dentro do mesmo loop da questão a), faça o seguinte: verifique se a passagem no loop é a primeira, e se for, atribua o valor do primeiro número inserido às variáveis do menor e maior número.

Caso não seja a primeira passagem no loop, ou seja, caso contrário, se maior < novo número inserido, atribua tal número à maior, e se menor > novo número inserido, atribua tal número à menor.

 

57 minutos atrás, Duda1001 disse:

c-) verificar a qual faixa o elemento pertence.

Faixa 1 – Elementos < 0

Faixa 2 – Elementos >=0 e < 15

Faixa 3 – Elementos >=15 e < 100

Faixa 4 – Elementos >= 1000

Faixa 5 – Elementos >= 101 e < 1000

Dentro do mesmo loop da questão a), estabeleça as estruturas condicionais descritas na questão para fazer todas as verificações. Você vai precisar incrementar um contador em cada faixa, que é o que se deve fazer na questão d).

 

57 minutos atrás, Duda1001 disse:

d-) Contabilizar – - O total de elementos por faixa - O total da faixa

Com as estruturas condicionais descritas na questão c) estabelecidas, você deve incrementar um contador em cada faixa, ou seja, serão 5 contadores. Dessa forma, você vai obter o total de elementos por faixa.

 

57 minutos atrás, Duda1001 disse:

e-) verificar quais deles são pares ou ímpares

Se N % 2 == 0, então é par, pois o resto da divisão de tal número por 2 é 0, e caso contrário, será ímpar. Faça essa verificação dentro do mesmo loop da questão a). Você vai precisar incrementar um contador para pares e um para ímpares, que é o que se deve fazer na questão f).

 

57 minutos atrás, Duda1001 disse:

f-) contabilizar - Total de Pares e o total de Ímpares

Com as estruturas condicionais descritas na questão e) estabelecidas, você deve incrementar um contador para pares e ímpares, ou seja, serão 2 contadores. Dessa forma, você vai obter o total de pares e ímpares.

 

58 minutos atrás, Duda1001 disse:

O programa devera ser executado enquanto o usuário desejar.

Apenas englobe tudo dentro de uma estrutura de repetição e pergunte ao usuário se ele quer repetir o programa.

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

@Duda1001    você pretende fazer esse código na linguagem c ou c++ ? ,  pois você postou no tópico de c++ , mas seu código só tem comandos da linguagem  c  ,  e se é para ler até enquanto o usuário quiser , então não precisa usar quatro variáveis para ler o teclado , use apenas uma mesmo e outras para fazer os cálculos e só depois de sair do Loop mostre os resultados .

   e uma parte de seu código poderia ser assim  :

#include <stdio.h>
#include <conio.h>
#include <ctype.h>
int main(){
    int faixa_1=0,faixa_2=0,
        faixa_3=0,faixa_4=0,
        faixa_5=0,num,cont=0,
        soma_total=0,maior=0,
        menor,par,impar,t_par=0,
        t_impar=0;
    do{
        printf ("Digite Um numero : ");
        scanf ("%d",&num);
        if( cont  == 0  )menor = num;
        if( menor > num )menor = num;  // saber o menor número digitado
        if( maior < num )maior = num;  // saber o maior número digitado
        soma_total += num;
        if(num < 0)faixa_1++;
        else
            if( num >= 0 && num < 15 )faixa_2++;
            else
                if( num >=15 && num < 100 )faixa_3++;
                else
                    if( num >= 101 && num < 100 )faixa_5++;
                    else
                        if ( num >= 1000 )faixa_4++;
        if( num % 2 == 0 )par++;
        else            impar++;
        cont++;       // incrementa o contador que conta a qtd de números digitados
        printf("Deseja Continuar  S/N\n"                                         );
    }while( toupper((char)getch() ) != 'N'                                       );
    printf("O Maior Numero Foi ----------------: %d  \n",maior                   );
    printf("O Menor Numero Foi ----------------: %d  \n",menor                   );
    printf("O Total de Numero Par Foi ---------: %d  \n",par                     );
    printf("O Total de Numero Impar Foi -------: %d  \n",impar                   );
    printf("A media aritmetica entre eles Foi -: %.2f\n",(float)soma_total / cont);
    return 32768;
}

 

  • Curtir 1
  • 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...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!