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

Dúvida com Vetores em C


jerry_edson

Pergunta

Bom dia pessoal, estou iniciando vetores em C, já fiz diversos exercícios para um melhor aprendizado, porém me deparei com um exercício que me falta experiência para sua resulução.

Segue o exercício:

"Em um campeonato de futebol existem x times e para cada tipo, existem y jogadores. Faça um programa que receba: o valor de x e de y, a idade, o peso e a altura de cada um dos jogadores, calcule e mostre:

a) a quantidade de jogadores com idade inferior a 18 anos; b) a média das idades dos jogadores de cada time; c) a média das alturas de todos os jogadores do campeonato; d) a percentagem de jogadores com mais de 80 Kg entre todos os jogadores do campeonato; e) a média de idade dos jogadores com peso acima de 100 Kg."

 

Parei na letra B, tirar a média de idade dos jogadores por de cada time, utilizei dois For  para isso, meu problema é que a quantidade de times e jogadores são fornecidas pelo usuario, e não consigo tirar a média, tentei da seguinte maneira media = media + idade ; Porém como está dentro do for não traz o valor real...

Conseguem me ajudar da resolução do mesmo?

Segue parte do código feito até agora:

 

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

int main()
{

    int qtdT=0,qtdJ=0,t,j,contidmenor=0;
    float mediaid[qtdJ],somaid[qtdJ],idade[qtdJ];


    mediaid[qtdJ] = 0;
    printf("Digite a Qtd de Times: ");
    scanf("%d", &qtdT);
    printf("Digite a Qtd de Jogadores: ");
    scanf("%d", &qtdJ);


    for (t=1;t<=qtdT;t++)
    {
        printf("\n\t***Time%i***\n",t);

        for(j=1;j<=qtdJ;j++)
        {

            printf("Digite a idade do jogador%d: ", j);
            scanf("%f", &idade[j]);

            if (idade[j]<18)
            {
                contidmenor++;
            }

            mediaid[j] = (mediaid[j] + idade[j])/qtdJ;
        }
    }

    printf("\nJogadores com idade inferior a 18 anos: %d\n",contidmenor);


        for(j=1;j<=qtdT;j++)
        {

            printf("Media Idade Time%i: %.2f\n",j,mediaid[j]);
        }
}

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

Pense no seguinte, a média aritmética nada mais é do que a soma de n elementos dividido por n:

media = (x1 + x2 + x3 + x4)/n

Matematicamente, esta expressão poderia ser representada por:

media = x1/n + x2/n + x3/n + x4/n.

Dado este rearranjo da expressão fica fácil você fazer um laço para calcular média. Exemplo:

int main(){

    int i, n, idade[5] = {16, 18, 36, 40, 25};
    float media;

    n = 5;
    media = 0;

    for(i = 0; i < n; i++){
        media += idade[i] / (float)n;
    }

return 0;
}

Veja:

(16 + 18 + 36 + 40 + 25) / 5 => 135 / 5 = 27

16/5 + 18/5 + 36/5 + 40/5 + 25/5 => 3,2 + 3,6 + 7,2 + 8 + 5 = 27

Espero ter ajudado!

 

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,3k
×
×
  • Criar Novo...