Ir ao conteúdo
  • Cadastre-se
Pedro Novais

C++ Problema com o comando for

Recommended Posts

Boa noite, estou com um projeto da faculdade e estou meio travado.

o trabalho é criar uma floresta e criar a classe animai. É para criar 3 especies de animais, eu criei macaco, raposa e coelho.

bom o professor vai digitar a quantidade de ciclos, 1 ciclo é igual a 10 anos na minha floresta, quando se passar 1 ciclo eu tenho que printar

quantos animais nasceram, morreram e a população atual da floresta. a questão é que de ciclo em ciclo a população se duplica ou seja

eu preciso de um FOR que me de 2x a quantidade de animai da população. por exemplo se eu digitar 3 ciclos e a população atual for 5, então

no primeiro ciclo eu tenho 5, já no segundo ciclo eu tenho o dobro do 1ºciclo. no terceiro ciclo eu tenho o dobro do 2º ciclo, e assim por diante,

sempre 2* o ciclo anterior. porém eu não sei como implementar isso em um for. tipo se eu digitar 10 ciclos eu tenho que calcular 2* o anterior 10*, mas

não sei colocar isso no FOR. Abraços.  

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Pedro Novais     o for seria da forma normal , e o que precisa é uma variável onde você vai acumulando o resultado anterior e no próximo passo multiplica essa variável por 2 , assim não importa quantos ciclos tenha ,  pois ele sempre vai multiplicar pelo valor do resultado anterior,   então não posso fazer o código para você  , pois é contra as regras do fórum ,  mas você pode postar o código que você já fez para podermos ver como está e em que podemos ajudar  .

Compartilhar este post


Link para o post
Compartilhar em outros sites

Basicamente dentro do for você faz:

populacao = 2 * populacao;

Ou seja, cada vez que o ciclo roda ele multiplica o valor atual da variável populacao por 2, e armazena o novo valor dobrado na própria variável populacao...

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Achei interessante porque temos classe animal, e outras subclasses?

Por exemplo macaco e coelho são subclasses? Se sim então não tão simples como parece pois a gestação, número de filhotes e a maturidade reprodutiva dos animais são diferentes, logo o número de coelhos tem de subir mais que macacos pois obedecer uma função diferente do de macacos isso sim seria um problema animal.

adicionado 3 minutos depois

Porém ao que parece tudo foi pragmaticamente resumido em um simples Progressão Geometrica.

adicionado 6 minutos depois
14 horas atrás, Pedro Novais disse:

morreram

Para população atual é progressão de 2, e para os que morreram?:huh:

adicionado 9 minutos depois
14 horas atrás, Pedro Novais disse:

eu tenho que printar

quantos animais nasceram, morreram e a população* atual da floresta

A questão é mais que uma, é três.

* resolvida.

adicionado 12 minutos depois

E agora? quero só ver:D

adicionado 17 minutos depois

y@Pedro Novais Como foi resolveu?

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

#ifndef ANIMAIS_H_INCLUDED
#define ANIMAIS_H_INCLUDED
//M <- MACACO
//R <- RAPOSA
class Animais{ //define a classe animal

public:
    int ciclo;
    void lerCiclos();
    int Mtotal=5, Mid=000001, Midade, Midademax; //NUMEROS PARA MACACOS

    int Rtotal=5, Rid=000002, Ridade, Ridademax; //NUMEROS PARA RAPOSAS
    int totalanimais;

    void MostrartotalAnimais(){
    std::cout<< "\n\Quantidade de animais : " << totalanimais;

    }
};

void Animais::lerCiclos()
{

std::cout << "Digite a Quantidade de ciclos"<<std::endl;
std::cin >> ciclo;

totalanimais=ciclo * (Rtotal+Mtotal);

}


#endif // ANIMAIS_H_INCLUDED

a função LerCiclos é para ler a quantidade de ciclos e retornar a quantidade total de animais vivos

Rtotal é o total de raposas, Mtotal é o total de macacos. 

no primeiro ciclo de 10 anos existem 5 macacos, no segundo ciclo existem 10 macacos, no terceiro ciclo o dobro de macacos do ciclo passado e assim vai. é ai que preciso do for. 

ainda não sei como vou fazer com os animais que morrem, estou pensando em colocar a cada 3 ciclos 20% da população é morta por doenças que dai vou decidir quais. mas isso já vai em outra função.

a questão da reprodução ser por fêmea ou macho não importa, o professor informou que quem fizer ganha ponto extra mas não sei como implementar.

 

 

 

  • Curtir 1

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

×