Ir ao conteúdo

Posts recomendados

Postado

Bom dia, tanto na primeira quanto na segunda mutação, o decremento e o incremento estão retornando com uma diferença de 0.05 Se coloco 1 mutação, o valor dá 0.8 (quando deveria ser 0.75). Se coloco 2 mutações, o valor dá 0.6 (quando deveria ser 0.65). Alguém identifica qual o erro do algoritmo ?  Antecipadamente agradeço

 

/* Sabendo que Snoop tinha 45 cm de tamanho antes de brincar com o artefato, crie um programa em Linguagem C que receba um número de mutações e imprima na tela o tamanho FINAL de Snoop.  Considere:

   •    Manhã:  NADA acontece
   •    Tarde:  Snoop AUMENTA de tamanho em 30 cm
   •    Noite:  Snoop ENCOLHE 10 cm

 */

 

#include <stdio.h>
#include <locale.h>                          // biblioteca de local usada para chamar a setclocale no codigo

 

int main (void)
{

  setlocale(LC_ALL, "Portuguese");           // habilita a acentuação para o português

 

  int n,i;
  float tamanho;

 

  /* Entrada de Dados */

 

  printf ("Informe o número de MUTAÇÕES: ");
  scanf ("%d", &n);
  printf ("\n");


  /* Processamento de Dados */

 

  tamanho = 0.45;

  for (i=1; i <= n; i++)
  {
      if (i % 2 != 0)                // TARDE
      {
        tamanho+=0.30;
      }
      else                           // NOITE
      {
        tamanho-=0.10;
      }
  }


  /* Saída de Dados */

 

  printf ("Após %d mutações, o tamanho FINAL de Snoop é: %.1f\n", n ,tamanho);

  return (0);

}
 

  • Curtir 1
  • Membro VIP
Postado

E manhã não faz nada.

 

Mas aí que vem minha pergunta.

Se eu digitar o número 1 ou o número 10. O que vai me dizer quem é quem aí?

Esse enunciado não me faz sentido. Você digitou todo o enunciado aí?

  • Curtir 1
Postado

Se entendi direito seria basicamente isso:

tamanho = 45;
while(mutacoes >0){
    //Manhã
    if (mutacoes > 0)
        mutacoes--;

    //Tarde
    if (mutacoes > 0) {
        tamanho += 30;
        mutacoes--;
    }

    //Noite
    if (mutacoes > 0) {
        tamanho -= 10;
        mutacoes--;
    }
}
  • Curtir 1
Postado

Boa noite amigo, o problema esta na saida:

printf ("Após %d mutações, o tamanho FINAL de Snoop é: %.1f\n", n ,tamanho);

%.1f , significa que a saida vai possuir apenas uma casa decimal

Mude para: %.2f

 

Espero ter ajudado

  • Curtir 3
Visitante
Este tópico está impedido de receber novas respostas.

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!