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

Вычисление критерия Пирсона: исправить программу - C++

Восстановить пароль Регистрация
 
Aleshka_8bit_
0 / 0 / 0
Регистрация: 10.10.2015
Сообщений: 7
29.03.2016, 15:54     Вычисление критерия Пирсона: исправить программу #1
Листинг программы:
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
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
// генератор-псевдочисел.cpp: определяет точку входа для консольного приложения.
//
 
#include "stdafx.h"
#include<conio.h>
#include<math.h>
#include<stdio.h>
#include<iostream>
#define M 10000 
using namespace std;
 
int main()
{   
    setlocale(LC_ALL,"Russian");
    int k,n,i,j,P,L;
    double g[M],D;
        FILE *f = fopen("файл_инфо.txt","w");
    /////////////Ввод значений и генерация чисел/////////////////
 
    cout<<"Введите число знаков после запятой"<<"\n";
    cout<<"K=";
    cin>>k;
    cout<<"Введите объем выборки"<<"\n";
    cout<<"n=";
    cin>>n;
    cout<<"Введите начальное значение на (0,1)"<<"\n";
    cout<<"g[0]=";
    cin>>g[0];
 
    for(i=1;i<n;i++){
        D=pow(10.0,k/2)*g[i-1]*g[i-1];
        D=D-floor(D);
        g[i]=pow(10.0,-k)*floor(pow(10.0,k)*D);
        cout<<g[i-1]<<'\n';
        fprintf(f,"r(%d)=%9.8lf\n", i, g[i-1]);
    }
 
////////////Определение периода и апериодичности////////////////////
 
    cout<<endl<<"Определение L, P"<<endl;
    int count=0;
    for(i=0;i<n;i++){
        for(j=i+1;j<n;j++){
            if (g[i]==g[j]){
                P=j-i;
                count++;
                if(count<=1)
                    L=j;
                break;
            }
            if (g[i]==0){
                P=1;
                break;
            }
            if (g[j]==0){
                P=1;
                break;
            }
        }
    }
    if (P<0){
        cout<<endl<<"L>"<<n+1<<endl;
        cout<<"Необходимо взять большее значение n!"<<endl;
    }
    else
        cout<<"\n"<<"P="<<P<<"\n"<<"L="<<L<<endl;
 
/////////////////Критерий Пирсона , интервалы////////////////
 
    double r,p,c,d,x=0;
    int kol=0,t;
    r=1+3.3*log10(double(n));
    r=floor(r)+1;
    p=1/r;
 
    cout <<"число столбцов"<<endl<<"r="<<r;//добавил лично я
 
    int m[100];
    double per[20]={0.039, 0.103, 0.352, 0.711, 1.15, 1.64, 2.17, 2.73, 3.33, 3.94, 4.58, 5.23, 5.89, 6.57, 7.26, 7.96, 8.67, 9.39, 10.1, 10.9}; 
    int s=r-1;
    c=0;
    d=p;
    for(j=0;j<r;j++){
        for(i=0;i<n;i++)
            if ((g[i]>=c) & (g[i]<d))
                kol++;
        m[j]=kol;
        kol=0;
        c+=p;
        d+=p;
    }
    cout<<endl<<"Критерий Пирсона"<<endl;
    for(i=0;i<r;i++)
        cout<<"\n"<<"m["<<i<<"]="<<m[i];
    for(i=0;i<r;i++)
        x+=pow((m[i]-n*p),2)/(n*p); //Формула Пирсона
    if (x<=per[s])
        cout<<"\n"<<"Согласуется с гипотезой"<<endl;
    else
        cout<<"\n"<<"Не согласуется с гипотезой"<<endl;
 
    cout<<"r="<<r<<"\n"<<"p="<<p<<"\n"<<"x2="<<x;
 
    getch();
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.03.2016, 15:54     Вычисление критерия Пирсона: исправить программу
Посмотрите здесь:

Критерии Пирсона C++
C++ Исправить программу
C++ Нахождение критерия делимости
Исправить программу C++
C++ Исправить программу
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
TimeTwo
68 / 68 / 31
Регистрация: 29.11.2009
Сообщений: 318
29.03.2016, 16:14     Вычисление критерия Пирсона: исправить программу #2
у меня все компилиться и запускается, если закоментить строку
C++
1
#include "stdafx.h"
Aleshka_8bit_
0 / 0 / 0
Регистрация: 10.10.2015
Сообщений: 7
29.03.2016, 16:29  [ТС]     Вычисление критерия Пирсона: исправить программу #3
Странно у меня не работает ((
TimeTwo
68 / 68 / 31
Регистрация: 29.11.2009
Сообщений: 318
30.03.2016, 09:01     Вычисление критерия Пирсона: исправить программу #4
компилятор Digital Mars
TheCalligrapher
С чаем беда...
Эксперт С++
 Аватар для TheCalligrapher
2784 / 1430 / 393
Регистрация: 18.10.2014
Сообщений: 2,626
30.03.2016, 09:02     Вычисление критерия Пирсона: исправить программу #5
Цитата Сообщение от Aleshka_8bit_ Посмотреть сообщение
Странно у меня не работает
Что за детский сад? Что такое "не работает"???
Yandex
Объявления
30.03.2016, 09:02     Вычисление критерия Пирсона: исправить программу
Ответ Создать тему
Опции темы

Текущее время: 02:07. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru