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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Подсчитать количество листьев дерева не на последнем уровне, имеющем листья. http://www.cyberforum.ru/cpp-beginners/thread1697950.html
Добрый день! Не могу разобраться со следующим: нужно подсчитать количество листьев не на последнем уровне, имеющем листья. Текст программы, генерирующий дерево приведен ниже, обход дерева в глубину, дерево троичное. #include <iostream> #include <string.h> #include <stdio.h> #include <stdlib.h> #include <time.h> using namespace std;
C++ Замена строки на столбец в матрице Разработать программу, которая в матрице размерности nxn меняет местами строку, содержащую элемент с минимальным значением со столбцом, содержащим элемент с максимальным значением. Матрица размещается в памяти динамически с помощью операции new, значение n вводится по запросу с клавиатуры. В конце работы программы освободить выделенную память. Вывести исходную и результирующую матрицы. http://www.cyberforum.ru/cpp-beginners/thread1697932.html
C++ Напишите цикл, эквивалентный приведенному выше циклу, не пользуясь операторами && и ||
Напишите цикл, эквивалентный приведенному выше fоr-циклу, не пользуясь операторами && и ||. Под приведенным выше fоr-циклом подразумевается: for (i = 0; i < lim - 1 && (c = getchar()) != EOF && c != '\n'; ++i) Вопрос: Возможно ли представить условие цикла одной строкой не пользуясь операторами && и ||? Вложенные конструкции как-то слишком очевидны. Когда натыкаюсь на подобные задания,...
C++ Для каждого x, изменяющегося от a до b с шагом h, найти значения функции Y(x), суммы S(x)
Для каждого x, изменяющегося от а до b с шагом h, найти значения функции Y(x), S(x) и |Y(x)-S(x)| и вывести в виде таблицы. Значения a,b,h и n вводятся с клавиатуры. Так как значение S(x) является рядом разложения функции Y(x), при правильном решении значения S и Y для заданного аргумента х (для тестовых значений исходных данных) должны совпадать в целой части и в первых двух-четырех позициях...
C++ Программа сворачивается сразу же после выполнения http://www.cyberforum.ru/cpp-beginners/thread1697853.html
Есть система из трех уравнений, программа написана. Почему при вводе x=0 , y=0 окно вывода сразу сворачивается? #include <iostream> #include <stdio.h> #include <stdlib.h> #include <math.h> #include <conio.h> const double PI = 3.14; const double e = 2.718; int main() {
C++ Реализовать модуль для работы с комплексными числами Модуль для работы с комплексными числами (каждое число описывается двумя элементами – действительная часть и мнимая часть). Предусмотреть операции: возведение компл. числа в квадрат, умножение комп. числа на действительную константу подробнее

Показать сообщение отдельно
Aleshka_8bit_
0 / 0 / 0
Регистрация: 10.10.2015
Сообщений: 8

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

29.03.2016, 15:54. Просмотров 244. Ответов 4
Метки (Все метки)

Листинг программы:
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();
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru