Ir ao conteúdo

Posts recomendados

Postado

Digamos que temos uma população de n lhamas. A cada ano, nascem n / 3 novas lhamas e n / 4 morrem.

Por exemplo, se começarmos com n = 1.200 lhamas, no primeiro ano, 1.200 / 3 = 400 novas lhamas nascerão e 1.200 / 4 = 300 lhamas morrerão. No final daquele ano, teríamos 1.200 + 400 - 300 = 1.300 lhamas.

Para tentar outro exemplo, se começarmos com n = 1000 lhamas, no final do ano teremos 1000/3 = 333,33 novas lhamas. Não podemos ter uma parte decimal de uma lhama, entretanto, vamos truncar o decimal para que 333 novas lhamas nasçam. 1000/4 = 250 lhamas passarão, então terminaremos com um total de 1000 + 333 - 250 = 1083 lhamas no final do ano.

Alguém poderia me ajudar com o meu dever? Não estou conseguindo efetuar os cálculos 

  • Curtir 1
Postado
7 minutos atrás, devair1010 disse:

@Victor Miguel Barbosa Marq     você pode usar uma variável auxiliar , para não perder o valor a ser dividido . e assim você terá então três variáveis , o Total , a aux  e os anos ,  e coloque isso dentro de um loop .  depois poste o código que  fez .

Obrigado pela ajuda, assim q eu terminar posto o código

  • Curtir 1
Postado
Em 16/06/2022 às 22:12, Victor Miguel Barbosa Marq disse:

Obrigado pela ajuda, assim q eu terminar posto o código

#include <cs50.h>
#include <stdio.h>
int main(void)
{
      int n, y, a = 33, b = 25, contadorAnos = 0, n2 = 0, n3 = 0;
do
{
    n = get_int("Tamanho inicial da população: ");
}
while (n < 9);
do
{
    y = get_int("Tamanho final da população: ");
}
while (y < n);
do
{
 n = n / 3 - n / 4 + n ;
  contadorAnos++;
}
while (n == y);
{
printf("Total de Anos é %d\n ", +contadorAnos);
}

     // TODO: Imprima o número de anos
}

Fiz o código mas ele não está efetuando as contas, o que eu posso fazer para arrumar isso?

  • Obrigado 1
Postado

@Victor Miguel Barbosa Marq @Victor Miguel Barbosa Marq    você Usando comandos estranhos da linguagem  C  ,   qual compilador estaá usanDo ?  ,   e tem muitas variáveis ,  para resolver precisa apenas de três ,  e não precisa de tantos laços de repetição ,  apenas  um  ,   e não consegui seguir sua linha de raciocínio ,  e então veja esse exemplo , e tente fazer o seu código baseando se nesse ,  não apenas copie e cole , pois isso não vai te ajudar em aprender nada ,  tente fazer do seu jeito ,  usando o nome das variáveis que achar melhor e pode ser outro laços de repetição , como o for , while ,  do / while ,  goto ,  e depois posta o programa que você mesmo montou :

#define _WIN32_WINNT 0x600
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
#include <windows.h>
int prototipo(int , int , int* );
int main()
{
  HANDLE _h = GetStdHandle(STD_OUTPUT_HANDLE);
  SetConsoleTextAttribute( _h , 15 + (12 << 4 ) );
  int ano   = 0;
  int Total = 1000;
  int aux   = 0;
  printf("   Total %d   \n\n",Total);
  do
  {
    aux    = Total;
    Total  = Total + aux / 3 - aux / 4;
    ano    = ano   + 1;
    printf("\tno %5d ano terah   \n\
          \r\tNasceu -: %5d      \n\
          \r\tMorreU -: %5d      \n\
          \r\tTotal --: %5d      \n\n",
          ano,Total/3,Total/4,Total);
  }while( ano != 5 );
  printf("Apos 5 anos terah %d lhamas .\n",Total);
  SetConsoleTextAttribute( _h , 7 + ( 0 << 4 ) );
  printf("\n\n\n");
  return 0;
}
int prototipo(int a , int b , int* c )
{
  return 0;
}

 

Postado

@devair1010 Eu estou utilizando o CS50 IDE, a minha linha de raciocínio era a seguinte: Criar condições para evitasse algumas coisa, como o valor de "n" ser inferior a 9 e o de "y" inferior a "n" e uma que não permitisse o programa finalizar até que o valor de "n" seja igual ao valor de "y" para então ele dizer quantas vezes ele precisou fazer o calculo, entretanto no programa que publiquei aqui não esta efetuando as contas, por isso ele sempre fala que o resultado é 1 ano.

Vou tentar adaptar o meu código, obrigado pela ajuda 

 

  • Obrigado 1
Postado

@devair1010 Esse é o meu programa finalizado. Ver o seu programa me ajudou a achar o meu erro, agradeço sua ajuda

#include <cs50.h>
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
      int  y, z, a = 3, b = 4, Anos = 0;
do
{
    z = get_int("Tamanho inicial da população: ");
}
while (z < 9);
do
{
    y = get_int("Tamanho final da população: ");
}
while (y < z);
do
{
 int n = z;
 z = n / a - n / b + z ;
 Anos++;
}
while (z < y);
{
printf("Total de Anos é %d\n ",Anos);
}

 
}

 

  • Obrigado 1

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

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!