Considerando o último post, onde utilizamos vetores para cálculo de uma média aritmética, adaptei o mesmo programa para cálculo de uma média ponderada.
Ex.: Nota 1 tem Peso 1, Nota 2 tem peso 2 e Nota 3 tem peso 3. Simulando as notas 5, 10 e 7 com estes pesos, temos :
(5 * 1) + (10 * 2 ) + ( 7 * 3) / 1+ 2 + 3 =
5+ 20 + 21 / 6 =
46 / 6 = 7,66
Testando o programa:
Segue abaixo o código do programa, comentado:
int main(int argc, char *argv[]) {
int num_media[QTDE]; /* Vetor de variavel numerica(int) com 10 posicoes*/
int peso_media[QTDE]; /* Vetor de variavel numerica(int) com 10 posicoes*/
int indice;
float media;
int qtde_pesos;
for(indice = 0; indice < QTDE ; indice ++){
printf ("\n Digite o valor %i \n", indice +1 );
scanf("%d", &num_media[indice]); /*Le os valores e armazena no indice.
A variável que está entre [ ] define em qual posição o valor será armazenado*/
printf ("\n Digite o peso do valor %i \n", indice +1 );
scanf("%d", &peso_media[indice]);
}
for(indice = 0; indice < QTDE ; indice ++){
/* Executa o mesmo laço acima, porem com os vetores preenchidos*/
/* Soma todos os valores, multiplicados por seus pesos*/
media = media + ( num_media[indice] * peso_media[indice] );
qtde_pesos = qtde_pesos + peso_media[indice] ; /* Soma os pesos para posterior divisão*/
}
media = media / qtde_pesos; /*Divide a soma pela quantidade de termos*/
/*Exibe o resultado*/
printf ("\n A media ponderada E %f", media);
return 0;
}
Nenhum comentário:
Postar um comentário