Advertisement
JewishCat

Untitled

Jun 16th, 2016
121
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.22 KB | None | 0 0
  1. #include <iostream>
  2. #include <stdarg.h>
  3. using namespace std;
  4. float HarmonicMean (int number...)
  5. {
  6.     float a = 0;
  7.     float denominator = 0;//знаменатель среднего гармонического
  8.     va_list argPtr;//указатель на текущий объект в списке объектов(параметров)
  9.     va_start(argPtr, number); // этот макрос служит для инициализации списка переменных аргументов
  10.     for(int i = 0; i < number; i++)
  11.     {
  12.        
  13.         int val = va_arg(argPtr, int);//берем текущий параметр из всех параметров и суммируем его к знаменателю
  14.         denominator += (float)(1/(float)val);
  15.     }
  16.     va_end(argPtr);//освобождаем список va_list
  17. //    находим среднее гармоническое:
  18.     a = float(number/ denominator);
  19.     return a;
  20. }
  21.  
  22. int main(int argc, const char * argv[]) {
  23.     // insert code here...
  24.     float a = HarmonicMean(3, 2, 4, 8);//первый параметр - это сколько аргументов ты передаешь
  25.     cout << "Harmonic Mean = " << a <<endl;
  26.     return 0;
  27. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement