Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Задачи по C/С++

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки
На первую страницук этому сообщениюк последнему сообщению

Открыть новую тему     Написать ответ в эту тему

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;
}

Всего записей: 350 | Зарегистр. 19-09-2007 | Отправлено: 19:27 25-10-2007
Открыть новую тему     Написать ответ в эту тему

На первую страницук этому сообщениюк последнему сообщению

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Задачи по C/С++


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru