Форум программистов, компьютерный форум CyberForum.ru

Расчёт дисперсии - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ перевести программу на С++ http://www.cyberforum.ru/cpp-beginners/thread847973.html
помогите перевести программу с паскаля на С++. uses crt; var i,n:integer; a1,a2,a,eps:real; l:boolean; begin clrscr; l:=false; writeln($$n,eps $$);
C++ двоичный поиск Подскажите, пожалуйста, в вопросе: Какое дополнительное требование к массиву может быть применено при двоичном поиске, что бы определить положение нового элемента. То, что массив должен быть отсортирован - это по - моему основное требование (не дополнительное). То, что элементы массива должны формировать двоичное дерево поиска - бред по-моему. (ни чего не должны). То, что массив должен... http://www.cyberforum.ru/cpp-beginners/thread847967.html
C++ найти наименьший номер последовательности
Найти наименьший номер члена последовательно*сти, для которого выполняется условие |{a}_{n}-{a}_{n-1}|<\varepsilon. Выве*сти на экран этот номер и все элементы аi, где i = 1, 2..... n. ε=0.001 последовательность a=arctg {a}_{n-1}+1, {a}_{1}=0 Помогите пожалуйсто зделать ее на С++. Заранее огромное спасибо. Добавлено через 5 минут примерно она должна выглядеть вот так, только она у...
C++ Коментарий к челночной сортировки
Помогите написать коментарий к челночной сортировке С++. Пожалуйста))) Словарный запас иссяк))) void CHELN_sort(int a,long N) { cout<<"CHELN_sort RUN\n"; for(int j=0;j<N-1;j++) { if(a>a) { a=a+a;
C++ Три города http://www.cyberforum.ru/cpp-beginners/thread847930.html
В республике N городов пронумерованных с 1 до N. M городов связаны дорогами. Найти три города не связанных между собой дорогами. Формат входного файла Во входном файле записаны сначала два числа N и M, задающие соответственно количество вершин и количество ребер (1≤N≤100, 1≤M≤10000), а затем перечисляются ребра. Каждое ребро задается номерами вершин, которые оно соединяет. Формат выходного...
C++ Расстояние от точки до луча (описание внутри) Помогите люди добрые :) Расстояние от точки до луча Даны координаты точки (x,y) и координаты начала и конца вектора (x1,y1) и (x2,y2). Формат входных данных Шесть чисел x y x1 y1 x2 y2 — координаты точки и координаты начала и конца вектора. Формат выходных данных Одно число — расстояние от точки до луча, определяемого вектором. Результат вывести с точностью до четырех знаков после точки.... подробнее

Показать сообщение отдельно
GTG
0 / 0 / 0
Регистрация: 10.03.2013
Сообщений: 7
25.04.2013, 23:21  [ТС]     Расчёт дисперсии
Цитата Сообщение от gazlan Посмотреть сообщение
Пока выбор правильного типа данных будет для вас "мелочью", верный расчет вы сможете получить, разве что, по ошибке. И 20+ строчек кода с простейшей арифметикой так и останутся неодолимым препятствием.

Исправьте ошибки, на которые вам указали, если все еще не будет работать - выложите заново полный код, так чтобы можно было проверить типы переменных и сам файл данных, на которых получаете ошибку - нет никакой гарантии, что они корректно записаны.
Какие ошибки? Говорю же, везде double. Вот полный код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
#include <stdio.h>
 
int main () {
 
    double w0[20000];
    double wf[20000];
    double p[20000];
    double a, b, c;
    double q;
    double r;
    double s = 0;
    double s1 = 0;
    double d = 0;
    double d1 = 0;
    double h=1.0;
    double a1=0;
    double a2=0;
    double b1=0;
    double b2=0;
    //printf("Enter q\n");
    //scanf("%lf", &q);
    //printf("Enter r\n");
    //scanf("%lf", &r);
    printf("starting... \n");
    FILE *f;
    FILE *f1;
    FILE *f2;
    //f = fopen ("kalman.txt", "r");    
    if ((f1 = fopen("s.txt", "w")) == NULL)
        printf("file1 was not opened\n");
    if ((f2 = fopen("d.txt", "w")) == NULL)
        printf("file2 was not opened\n");
    for (double q=0.01; q<10; q+=0.01) {
        for (double r=0.0001; r<300; r+=10.0) {
            //f = fopen("data.txt", "r");
             if( (f  = fopen( "data.txt", "r" )) == NULL ) 
                 printf( "file was not opened\n" );
             //else
                 //printf("file was opened successfully");
 
            for (int i=0; i<10000; i++) {
                fscanf(f, "%lf  %lf %lf", &a, &w0[i], &c);
                //printf("%g\n", w0[i]);
                s1 = s1 + w0[i];
                a1 = a1 + w0[i]*w0[i];
                a2 = a2 + w0[i];
            }   
            //printf("s1 = %lf\n", s1/20000);
            //printf("d1 = %lf\n", a1/20000);
            wf[0] = w0[0];
            p[0] = 0;
            for (int i=1; i<10000; i++) {
                    p[i] = (1 - (p[(i-1)]/((p[(i-1)]+r)))) * p[(i-1)] + q;
                    wf[i] = (1 - (p[(i-1)]/((p[(i-1)]+r)))) * wf[(i-1)] + p[(i-1)]*w0[i]/((p[(i-1)]+r));
                    //printf("%g\n", wf[i]);
                    s = s + wf[i];  
                    b1 = b1 + wf[i]*wf[i];
                    b2 = b2 + wf[i];
                }
            //printf("s = %lf\n", s/20000);
            //printf("d1 = %lf\n", d/20000);
            d1 = a1/10000 - (((a2*a2)/10000)/10000);
            printf("d1 = %lf\n", d1);
            d = b1/10000 - (((b2*b2)/10000)/10000);
            printf("d = %lf\n", d);
            fprintf(f1, "%lf %lf %lf %lf\n", q, r, s/10000);
            fprintf(f2, "%lf %lf %lf %lf\n", q, r, d1/d);
             //if ( fclose( f ) )
            fclose(f);
            d=0;
            d1=0;
            a1=0;
            a2=0;
            b1=0;
            b2=0;
            s=0;
            s1=0;
     // {
      //   printf( "The file 'crt_fopen.c' was not closed\n" );
     // }
 
        }
    }  
}
//}
P.S. Присутствуют лишние закомментированные строки, а также, возможно, вывод данных в консоль, который не нужен
 
Текущее время: 19:11. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru