Ir ao conteúdo

Posts recomendados

Postado

Olá pessoal tudo bom com vcs?

Seguinte, eu sou bem novato para criar códigos em C++, estou com um desafio lançado pelo meu professor:

Escreva um programa que receba 15 números e imprima quantos deles estão acima e quantos estão abaixo da média.

porém eu preciso utilizar apenas laços de repetição para fazer este programa, não podendo utilizar vetores e qualquer outra biblioteca. 

Assim eu fiz o programa dessa maneira, mas achei ele um pouco extenso porque não consegui utilizar o (for) para fazer as validações dos números e solicitar a entrada deles.

Vocês teriam alguma sugestão de como simplificar esse código?

Obrigado!!!

 

#include<iostream>
using namespace std;
int main()
{
    float i, media, acima=0, abaixo=0;
    float n1,n2,n3,n4,n5,n6,n7,n8,n9,n10,n11,n12,n13,n14,n15;

        cout<<"Digite 15 valores"<<endl;

        do
            {
             cin>>n1;i=i+1;
             cin>>n2;i=i+1;
             cin>>n3;i=i+1;
             cin>>n4;i=i+1;
             cin>>n5;i=i+1;
             cin>>n6;i=i+1;
             cin>>n7;i=i+1;
             cin>>n8;i=i+1;
             cin>>n9;i=i+1;
             cin>>n10;i=i+1;
             cin>>n11;i=i+1;
             cin>>n12;i=i+1;
             cin>>n13;i=i+1;
             cin>>n14;i=i+1;
             cin>>n15;i=i+1;
            }while (i<15);

            media=(n1+n2+n3+n4+n5+n6+n7+n8+n9+n10+n11+n12+n13+n14+n15)/15;

            if (n1>media)acima++;
            else abaixo++;
            if (n2>media)acima++;
            else abaixo++;
            if (n3>media)acima++;
            else abaixo++;
            if (n4>media)acima++;
            else abaixo++;
            if (n5>media)acima++;
            else abaixo++;
            if (n6>media)acima++;
            else abaixo++;
            if (n7>media)acima++;
            else abaixo++;
            if (n8>media)acima++;
            else abaixo++;
            if (n9>media)acima++;
            else abaixo++;
            if (n10>media)acima++;
            else abaixo++;
             if (n11>media)acima++;
            else abaixo++;
            if (n12>media)acima++;
            else abaixo++;
            if (n13>media)acima++;
            else abaixo++;
            if (n14>media)acima++;
            else abaixo++;
            if (n15>media)acima++;
            else abaixo++;

    cout<<"RESULTADO DA MEDIA= "<<media<<endl;
    cout<<"RESULTADO ACIMA DA MEDIA= "<<acima<<endl;
    cout<<"RESULTADO ABAIXO DA MEDIA= "<<abaixo;

    return 0;
}

 

 

 

  • Curtir 1
Postado

Olá @Gleison1510 boa noite.

 

Perceba que as razões para se ter instruções de repetição é eu não ter a necessidade de repetir trechos do meu código. Pois então;

 

  1. Entre com os 15 números para calcular a média aritmética;
  2. Entre (novamente) para determinar quais estão abaixo e acima da médica calculada no laço 1.

Fica a sugestão.

  • Curtir 2

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