Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 02.01.2016
Сообщений: 38

Ошибка в программе, решающей математическую задачу

29.10.2016, 18:32. Показов 523. Ответов 0
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Ошибка в программе, решающй следующую задачу:

https://www.cyberforum.ru/cgi-bin/latex.cgi?<br />
1. \bar{x}=\sum_{i=1}^{n}{x}_{i}<br />
2.  {S}_{x} = \sqrt{\frac{\sum_{i=1}^{n}{\left(x-\bar{x} \right)}^{2}}{n-1}}<br />
3.m=n<br />
 \begin{cases} & \text{ if \frac{\left|{x}_{i} - \bar{x} \right|}{{S}_{x}}\geq {v}_{p,n}} {w}_{i}= {x}_{i},  \\  & \text{ if \frac{\left|{x}_{i} - \bar{x} \right|}{{S}_{x}}\leq  {v}_{p,n} } {w}_{i}=0, m-1\end{cases}<br />
4. \bar{w}=\sum_{i=1}^{m}{w}_{i}<br />
5. {S}_{w} = \sqrt{\frac{\sum_{i=1}^{n}{\left(w-\bar{w} \right)}^{2}}{m-1}}<br />

код класса:
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
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
class Dev
    {
        public int number;
        public double[] X;
        public double[] W;
        public double sum;
        public double sum2;
        public double sqSum;
        public double sqSum2;
      
        public double averageValue;
        public double standardDeviation;
        public double averageValueWPenalties;
        public double standardDeviationWPenalties;
        public int measurements;
        public double Vpn;
        public double k;
 
 
        bool Three;
        bool Four;
        bool Five;
        bool Ten;
 
        public Dev(bool three, bool four, bool five, bool ten, double[] x, double[] w)
        {
 
 
            this.X = x;
            this.W = w;
            this.Three = three;
            this.Four = four;
            this.Five = five;
            this.Ten = ten;
 
            Number();
            VPN(Three, Four, Five, Ten);
            AverageValue();
            StandardDeviation();
            CheckForPenalties();
 
            AverageValueWPenalties();
 
        }
 
        public int Number()
        {
            number = 0;
            for (int i = 0; i < X.Length; i++)
            {
                if (X[i] != 0)
                    number++;
            }
            return number;
        }
 
        public double AverageValue()
        {
            sum = 0;
            averageValue = 0;
            for (int i = 0; i < X.Length; i++)
            {
                sum += X[i];
 
            }
            averageValue = sum / (double)number;
            return averageValue;
        }
 
        public double StandardDeviation()
        {
            sqSum = 0;
            for (int i = 0; i < X.Length; i++)
            {
                sqSum += Math.Pow((X[i] - averageValue), 2);
            }
            standardDeviation = Math.Sqrt(sqSum / ((double)number - 1));
            return standardDeviation;
        }
 
        public double VPN(bool Three, bool Four, bool Five, bool Ten)
        {
            if (Three)
            {
                Vpn = 1.4;
            }
 
            if (Four)
            {
                Vpn = 1.7;
            }
 
            if (Five)
            {
                Vpn = 1.9;
            }
 
            if (Ten)
            {
                Vpn = 2.3;
            }
            return Vpn;
        }
 
        public int CheckForPenalties()
        {
            measurements = number;
            
            for (int i = 0; i < X.Length; i++)
                
            if (((Math.Abs(X[i] - averageValue)) / standardDeviation) >= Vpn)
                {
                    W[i] = 0;
                    measurements--;
                }
                else
                {
                    W[i] = X[i];
                }
 
            return measurements;
        }
 
        public double AverageValueWPenalties()
        {
            sum2 = 0;
            for (int i = 0; i < W.Length; i++)
            {
                sum2 += W[i];
            }
            averageValueWPenalties = sum2 / (double)measurements;
            return averageValueWPenalties;
        }
 
        public double StandardDeviationWPenalties()
        {
            sqSum2 = 0;
            for (int i = 0; i < W.Length; i++)
            {
                sqSum2 += Math.Pow((W[i] - averageValueWPenalties), 2);
            }
            standardDeviationWPenalties = Math.Sqrt(sqSum2 / ((double)measurements - 1));
            return standardDeviationWPenalties;
        }
код формы:

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
106
107
108
109
110
111
112
113
114
115
public partial class Form1 : Form
    {
        Dev dev;
        public Form1()
        {
            InitializeComponent();
 
            double[] X = new double[5];
 
            for (int i = 0; i < 5; i++)
            {
                X[i] = double.Parse((Controls["textBox" + (i + 1).ToString()] as TextBox).Text, CultureInfo.InvariantCulture);
            }
            double[] W = new double[20];
 
            dev = new Dev(checkBox1.Checked, checkBox2.Checked, checkBox3.Checked, checkBox4.Checked, X, W);
 
            dev.Number();
            dev.VPN(checkBox1.Checked, checkBox2.Checked, checkBox3.Checked, checkBox4.Checked);
            dev.AverageValue();
            dev.StandardDeviation();
            dev.CheckForPenalties();
 
            dev.AverageValueWPenalties();
            dev.StandardDeviationWPenalties();
 
            Display_1();
            Display_2();
            Display_3();
            Display_4();
            Display_5();
            Display_6();
 
        }
        private void Display_1()
        {
 
            double Value = dev.AverageValue();
            label1.Text = Value.ToString("");
        }
 
        private void Display_2()
        {
 
            double Value = dev.StandardDeviation();
            label2.Text = Value.ToString("");
        }
 
        private void Display_3()
        {
 
            double Value = dev.Number();
            label3.Text = Value.ToString("");
        }
 
        private void Display_4()
        {
 
            double Value = dev.CheckForPenalties();
            label4.Text = Value.ToString("");
        }
 
        private void Display_5()
        {
 
            double Value = dev.AverageValueWPenalties();
            label5.Text = Value.ToString("");
        }
 
        private void Display_6()
        {
 
            double Value = dev.StandardDeviationWPenalties();
            label6.Text = Value.ToString("");
        }
 
        
 
 
        private void Form1_Load(object sender, EventArgs e)
        {
 
        }
 
        private void button1_Click(object sender, EventArgs e)
        {
            double[] X = new double[5];
 
            for (int i = 0; i < 5; i++)
            {
                X[i] = double.Parse((Controls["textBox" + (i + 1).ToString()] as TextBox).Text, CultureInfo.InvariantCulture);
            }
            double[] W = new double[20];
 
 
            dev = new Dev(checkBox1.Checked, checkBox2.Checked, checkBox3.Checked, checkBox4.Checked, X, W);
 
            dev.Number();
            dev.VPN(checkBox1.Checked, checkBox2.Checked, checkBox3.Checked, checkBox4.Checked);
            dev.AverageValue();
            dev.StandardDeviation();
            dev.CheckForPenalties();
 
            dev.AverageValueWPenalties();
            dev.StandardDeviationWPenalties();
 
 
            Display_1();
            Display_2();
            Display_3();
            Display_4();
            Display_5();
            Display_6();
        }
    }
Все компиллируется, но результат выдает явно неверный.

каждый пункт выполняется в этих методах:

1. averageValue()

2. standardDeviation()
3. CheckForPenalties()
4. averageValueWPenalties()
5. standardDeviationWPenalties()

Number() подсчитывает n
каждое https://www.cyberforum.ru/cgi-bin/latex.cgi?{x}_{i} задается с textBox

значения, возвращаемые каждым методом, выводятся в соответствующую метку на форме (сверху вниз)
все методы выдают ошибочные числа, начиная с CheckForPenalties()
Миниатюры
Ошибка в программе, решающей математическую задачу  
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
29.10.2016, 18:32
Ответы с готовыми решениями:

Исправить код в программе, решающей квадратное уравнение
Объясните пожалуйста, что здесь не так, при нажатии на кнопку ничего не происходит using System; using System.Collections.Generic; ...

Построить математическую модель и привести к канонической форме транспортную задачу открытого типа
Помогите плиз, в интернете сложно найти что-то адекватное, а там где мне это дали нет примеров с транспортными задачами открытого типа. ...

Исходник программы, решающей дифференциальные уравнения
Нужны исходники программ которые решают любые типы дифуров, только что бы выражение вводил пользователь. Желательно, если такие есть, то...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
29.10.2016, 18:32
Помогаю со студенческими работами здесь

Написание программы, решающей квадратные уравнения
Как можно максемально рацеонально наприсать программу прод решение кводратных ур-й, с защитой &quot;от дураков&quot; ))

Выполнить задачу в программе использую процедуры
Даны стороны треугольника. Найти площадь треугольника используя формулу Герона. Делать с применением процедур. Заранее спасибо.:)

Помогите решить задачу по программе Scilab...
С использованием одномерных массивов составить программу для решения следующей задачи: дана последовательность из n чисел, где а) n=10; b)...

Как эту задачу правильно ввести в программе?
Вот задача. Пожалуйста помогите (покажите) как правильно нужно ввести эту задачу в Mathcad Как вы видите она решена, но мне нужно...

Кто поможет написать простую задачу в программе делфи?
Знайти розподіл температури в тонкому однорідному стрижні 0&lt;x&lt;l, бо-кова поверхня якого теплоізольована, якщо кінці стрижня x=0 та x=l...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20%
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
Использование значений реквизитов справочника в документе, с определенными условиями и правами
Maks 07.04.2026
1. Контроль срока действия договора Алгоритм из решения ниже реализован на примере нетипового документа "ЗаявкаНаРаботу", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если. . .
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru