Jump to content
Fórum Script Brasil
  • 0

Média ponderada [C]


Felipe Calado

Question

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 to comment
Share on other sites

1 answer to this question

Recommended Posts

  • 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 to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152.2k
    • Total Posts
      652k
×
×
  • Create New...