By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
446,190 Members | 811 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 446,190 IT Pros & Developers. It's quick & easy.

How to calculate weighted average

P: 2
Weihted Average

Write a C program to calculate and print the weighted average of a list of N
floating point number, using the formula

Xave = F1X1 + F2X2+...+ FnXn

where the F's are fractional weighting factors,

i.e. 0<=F1<1, and F1+F2+...+Fn=1

For example: F1=0.1 F2=0.2 F3=0.3 F4=0.4 for n=4 and the sum=1.0

(a) Assume that N=4, and that the N numbers are already available in an array.
Use as input the following array: float X[4]={1.2,2.4,3.6,4.8};

(b) Prompt the user to enter the four weights from the keyboard. the program
should print an error messaage if the weights are out of range.

(c) For the result, the program should print the data, weights and the weighted
average.
Sep 30 '06 #1
Share this Question
Share on Google+
1 Reply


100+
P: 293
D_C
Expand|Select|Wrap|Line Numbers
  1. for(i = 0, i < 4, i++)
  2. {
  3.   do
  4.   {
  5.     // get floating point number input
  6.   }  while // input is not within weight range
  7.   F[i] = input;
  8.   sum += input;
  9. }
  10. if(sum != 1.0)
  11.   // throw a fit
  12. else
  13. {
  14.   for(i = 0; i < 4, i++)
  15.     xAve += (F[i]*X[i]);
  16.   xAve /= 4;
  17.   // output xAve
  18. }
Sep 30 '06 #2

Post your reply

Sign in to post your reply or Sign up for a free account.