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

Média ponderada [C]


Felipe Calado

Pergunta

Galera eu tava sem fazer nada, aí resolvi tentar criar um programa que calculasse média ponderada, eu consegui, só que pra treinar eu resolvi tentar criar o mesmo programa usando o laço "for".

Antes de mais nada vou colocar a formula da media ponderada pra ficar mais fácil o entendimento do meu problema:

Média = (termo1.peso1) + (termo2.peso2) + (termo3.peso3) + (termo 4.peso4) / (peso1+peso2+peso3+peso4)

Seguinte o que eu já fiz até agora foi bem pouco:

#include <stdio.h>

#include <stdlib.h>

#include <math.h>

int main (){

int vet[4], cont;

float media;

for(cont=0;cont<4;cont++){

printf("Digite um termo: ", cont+1);

scanf("%d" &vet[cont]);

}

for(cont1=0;cont1<4;cont1++){

printf("Digite um peso: ", con1+1);

scanf("%d", &vet1[cont1]);

}

Agora eu não sei bem o que fazer, por exemplo: Eu acho que agora o vetor "vet" deveria fornecer um valor que seria o "termo 1" e o vetor "vet1" deveria fornecer outro valor que seria o "peso 1", ai multiplicaria "termo 1" por "peso 1" e guardaria em uma variavel. Isso seria feito com os 4 termos e 4 pesos dos dois vetores. Vamos supor que o vetor que armazenaria o valor obtido dessa multiplicação se chama multi[4].

Essa é a parte do código em que eu preciso de ajuda.

Como eu já citei preciso que cada vetor forneça uma valor (vet[4] é o de termos, e vet1[4] é o de peso)

ex:

vet[1] multiplicado vet1[1]

Isso teria que acontecer com os 4 termos e pesos de forma automática, e os resultados seriam armazenado em

mult[4]

Depois disso teria que somar esses valores, ai nesse caso eu faria:

for (cont = 0; cont <4; cont++){

soma = soma + mult[cont];

} /*Aqui eu estaria somando os resultados obtidos da multiplicação

Depois eu pegaria o vetor que guarda os pesos "vet1[4]" e somaria seus pesos:

for (cont=0; cont1<4; cont1++){

somapeso = somapeso + vet1[cont1];

}

Depois era só fazer:

media = soma/somapeso;

Pois é galera, meu problema mesmo é na parte da multiplicação entre os vetores, se alguém puder me dar uma mãozinha nesse código aí eu agradeço bastante

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

Opa cara, tudo bem??

Pelo que eu vi tu tem um vetor para os termos e outro para os pesos certo??

então o que eu faria naquele algoritmo que tu ta tendo problemas é mais ou menos o seguinte:

for(cont=0;cont<4;cont++) 
    {
        float mult[4];

        mult[cont] = termo[cont] * peso[cont];

    }

Vamos pensar sobre o codigo ai.

1) Tu não precisa declarar um contador a cada for, já que no proprio "for" tu já esta zerando ele.

2) Pode-se usar o mesmo contador para mais de um vetor ao mesmo tempo, desde que ele esteja no for, é claro.

3) Eu se fosse tu, declararia os termos pelo menos como float, já que, utilizando o exemplo de uma prova, o aluno pode tirar um 9.4 por exemplo, e o peso na maioria das vezes, é inteiro.

Qualquer dúvida ou correção, pode mandar...

Um Abraço

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,1k
    • Posts
      651,8k
×
×
  • Criar Novo...