2012-05-18 13 views
-4

Есть ли лучший способ рассчитать среднее значение двух двухместных? Как я могу улучшить/скорректировать мой код ниже?cpp - std average

double original_one, original_two; // can be any double >= 0 
double used_one = original_one; 
double used_two = original_two; 
if (original_one == 0) used_one = 1; 
if (original_two == 0) used_two = 1; 
double average = used_one * used_two/2; // average! 
+0

Зачем вам нужен специальный чехол для 0? – Fanael

+10

Это не то, как вы рассчитываете среднее. Average = Sum/Count –

+0

@Fanael, возможно, не нуждается. Я использую его, потому что '0 * any_number = 0' – abrahab

ответ

2

среднее арифметическое двух чисел вычисляется путем их добавления и деления на два ...

double average = (original_one + original_two)/2; 

Это один из способов вычислить среднее, есть несколько больше, но это наиболее общий.

+1

Это среднее арифметическое. Среднее может означать много разных вещей (хотя я не сталкивался с чем-либо похожим на средний показатель ОП) – juanchopanza

+0

@juanchopanza Среднее значение является мерилом центральной тенденции, поэтому да, вы правы, существует множество разных методов для поиска среднего. Однако ОП не является мерилом центральной тенденции. Его всегда приведет к значению, которое находится за пределами диапазона значений (ничего особенного в этом нет). Однако я буду редактировать, чтобы отразить выбранный метод. Благодарю. – NominSim

+0

Мне нужно какое-либо значение 'relative' из двух парных разрядов для создания рейтинга. простое среднее значение с '+', похоже, хорошо, чтобы показать вес двух и сравнить его с другими – abrahab