Ir para conteúdo
Fórum Script Brasil
  • 0

Duvida algoritimo


laritoral

Pergunta

Faça um algoritmo que receba a idade e a altura de várias pessoas, calcule e mostre a média das alturas daquelas com mais de 50 anos.
Para encerrar a entrada de dados, digite uma idade menor ou igual a zero.
 
Esse é a proposta do trabalho, o meu código ficou assim:
 

 float idade, altura, media, cont;
    media = 0;
    cont = 0;

    while (idade >0)
    {
        printf ("DIGITE SUA IDADE:");
        scanf ("%f", &idade);

        printf ("DIGITE SUA ALTURA:");
        scanf ("%f", &altura);

        if (idade >50)
        {

            media = media + altura;

        }
        cont++;
    }

    media = media/cont;

    printf ("A media de altura das pessoas com mais de 50 anos é: %.2f", media);

 

Porem a media está danado errado, gostaria de alguém que possa apontar meu erro 

Obrigado
 

 
 
Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

O raciocínio está correto, basta utilizar mais uma variável para fazer o backup da média. Veja só:

 #include <stdio.h>
 #include <stdlib.h>

 int main ()

 {

 float altura, media=0, backup_media=0;

 int idade=10, cont=0;

    while (idade > 0)

    {
        printf ("DIGITE A IDADE:");
        scanf ("%d", &idade);

        printf ("DIGITE A ALTURA:");
        scanf ("%f", &altura);

        printf ("\n");

        if (idade >50)

        {

        cont++;

            backup_media+=altura;
            media=backup_media;
            media/=cont;



        }

     printf ("A media de altura das pessoas com mais de 50 anos é: %f\n\n", media);

    }

return 0;
}

Se o cálculo for feito apenas somando

 

media = media + altura; 

media / cont;

 

O valor bruto da média aritmética é perdido a cada operação. Por isso o uso de uma variável de backup:

 

backup_media+=altura;
media=backup_media;
media/=cont;

 

backup_media sempre mantém o valor bruto da soma de todas as alturas, e a variável média recebe apenas a média aritmética desse valor bruto fazendo a divisão de acordo com a contagem da variavel cont.

 

Até.
 

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...