Mr Nobody
BANNED | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору #include <iostream> #include <cmath> /* Algorithms from D.Knut, vol. 2, page 268. */ double Mean(int vector[], int size) { double mean_0, mean_1; int index; mean_0 = static_cast<double> (vector[0]); for(index = 1; index < size; index++) { mean_1 = mean_0 + (vector[index] - mean_0)/(index + 1); mean_0 = mean_1; } return mean_1; } double Mean(double vector[], int size) { double mean_0, mean_1; int index; mean_0 = vector[0]; for(index = 1; index < size; index++) { mean_1 = mean_0 + (vector[index] - mean_0)/(index + 1); mean_0 = mean_1; } return mean_1; } double Variance(int vector[], int size) { double mean_0, mean_1; double variance; int index; mean_0 = static_cast<double> (vector[0]); variance = 0.0; for(index = 1; index < size; index++) { mean_1 = mean_0 + (vector[index] - mean_0)/(index + 1); variance = variance + (vector[index] - mean_0)*(vector[index] - mean_1); mean_0 = mean_1; } return sqrt(variance/size); } double Variance(double vector[], int size) { double mean_0, mean_1; double variance; int index; mean_0 = vector[0]; variance = 0.0; for(index = 1; index < size; index++) { mean_1 = mean_0 + (vector[index] - mean_0)/(index + 1); variance = variance + (vector[index] - mean_0)*(vector[index] - mean_1); mean_0 = mean_1; } return sqrt(variance/size); } /* int vec_int[] = {1, 3, 5, 7, 9, 11}; double vec_dbl[] = {1.0, 3.0, 5.0, 7.0, 9.0, 11.0}; */ int vec_int[] = {6, 6, 6, 6, 6, 6}; int vec_dbl[] = {6.0, 6.0, 6.0, 6.0, 6.0, 6.0}; int main() { double mean, variance; mean = Mean(vec_int, 6); variance = Variance(vec_int, 6); std::cout << "Mean: " << mean << ", Variance: " << variance << std::endl; mean = Mean(vec_dbl, 6); variance = Variance(vec_dbl, 6); std::cout << "Mean: " << mean << ", Variance: " << variance << std::endl; return 0; } |