Форум программистов, компьютерный форум, киберфорум
Наши страницы

C# для начинающих

Войти
Регистрация
Восстановить пароль
 
 
BadMasterUA
0 / 0 / 0
Регистрация: 12.09.2013
Сообщений: 43
#1

В какой тип данных конвертировать результат, что бы выдавало число, а не "бесконечность или NaN" - C#/.NET 4.x

10.12.2013, 22:15. Просмотров 743. Ответов 18
Метки нет (Все метки)

Добрый день, подскажите пожалуйста в какой тип данных конвертировать результат, что бы выдавало число, а не "бесконечность или NaN".
Результаты вычислений:
Кликните здесь для просмотра всего текста
Значение h0 1-5
1,8
1,1
0,8
0,4
0,48
Значение h1 1-5
1,1
0,8
0,4
0,48
0,4
Значение N 1-5
1,32143486989898E+23
-3,19842061392918E+86
-бесконечность
NaN
-бесконечность
Значение M 1-5
9,23502778395307E+24
-1,32907343078814E+88
-бесконечность
NaN
-бесконечность
Значение P 1-5
1,36787717637547E+16
2,1058759849963E+85
бесконечность
NaN
бесконечность


Кому интересно код программы:
Кликните здесь для просмотра всего текста
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
using System;
 
class tlkmc
{
    static void Main()
    {
        Double h0_1, h0_2, h0_3, h0_4, h0_5;
        Double E_1, E_2, E_3, E_4, E_5;
        Double h1_1, h1_2, h1_3, h1_4, h1_5;
        Double l_1, l_2, l_3, l_4, l_5;
        Double sigmaTC_1, sigmaTC_2, sigmaTC_3, sigmaTC_4, sigmaTC_5;
        Double Kc2_1, Kc2_2, Kc2_3, Kc2_4, Kc2_5;
        Double delta_1, delta_2, delta_3, delta_4, delta_5;
        Double hH_1, hH_2, hH_3, hH_4, hH_5;
        Double Nsig_1, Nsig_2, Nsig_3, Nsig_4, Nsig_5;
        Double Pcr_1, Pcr_2, Pcr_3, Pcr_4, Pcr_5;
        Double X2_1, X2_2, X2_3, X2_4, X2_5;
        Double lc_1, lc_2, lc_3, lc_4, lc_5;
        Double deltaL_1, deltaL_2, deltaL_3, deltaL_4, deltaL_5;
        Double P_1, P_2, P_3, P_4, P_5;
        Double Mpr_1, Mpr_2, Mpr_3, Mpr_4, Mpr_5;
        Double N1, N2, N3, N4, N5;
        Double Deltah_1, Deltah_2, Deltah_3, Deltah_4, Deltah_5;
        Double a0, a1, a2, a3;
        ////
        a0 = 241.2;
        a1 = 1133.4;
        a2 = -1195.2;
        a3 = 525.6;
 
        ///// 
        h0_1 = 1.8;
        h1_1 = h0_2 = 1.1;
        h1_2 = h0_3 = 0.8;
        h1_3 = h0_4 = 0.4;
        h1_4 = h0_5 = 0.48;
        h1_5 = 0.4;
        /////
        E_1 = 0.39;
        E_2 = 0.28;
        E_3 = 0.25;
        E_4 = 0.2;
        E_5 = 0.16;
        /////вычисления/////
        //1
        Deltah_1 = h0_1 - h1_1;
        Deltah_2 = h0_2 - h1_2;
        Deltah_3 = h0_3 - h1_3;
        Deltah_4 = h0_4 - h1_4;
        Deltah_5 = h0_5 - h1_5;
        //3
        l_1 = Math.Sqrt(307.5 * Deltah_1);
        l_2 = Math.Sqrt(307.5 * Deltah_2);
        l_3 = Math.Sqrt(307.5 * Deltah_3);
        l_4 = Math.Sqrt(307.5 * Deltah_4);
        l_5 = Math.Sqrt(307.5 * Deltah_5);
        //4
        sigmaTC_1 = a0 + (2 / 3) * a1 * E_1 + (8 / 15) * a2 * Math.Pow(E_1, 2) + (16 / 35) * a3 * Math.Pow(E_1, 3);
        sigmaTC_2 = a0 + (2 / 3) * a1 * E_2 + (8 / 15) * a2 * Math.Pow(E_2, 2) + (16 / 35) * a3 * Math.Pow(E_2, 3);
        sigmaTC_3 = a0 + (2 / 3) * a1 * E_3 + (8 / 15) * a2 * Math.Pow(E_3, 2) + (16 / 35) * a3 * Math.Pow(E_3, 3);
        sigmaTC_4 = a0 + (2 / 3) * a1 * E_4 + (8 / 15) * a2 * Math.Pow(E_4, 2) + (16 / 35) * a3 * Math.Pow(E_4, 3);
        sigmaTC_5 = a0 + (2 / 3) * a1 * E_5 + (8 / 15) * a2 * Math.Pow(E_5, 2) + (16 / 35) * a3 * Math.Pow(E_5, 3);
        //5
        Kc2_1 = 1.15 * sigmaTC_1;
        Kc2_2 = 1.15 * sigmaTC_2;
        Kc2_3 = 1.15 * sigmaTC_3;
        Kc2_4 = 1.15 * sigmaTC_4;
        Kc2_5 = 1.15 * sigmaTC_5;
        //6
        delta_1 = (2 * 0.09 * l_1) / Deltah_1;
        delta_2 = (2 * 0.09 * l_2) / Deltah_2;
        delta_3 = (2 * 0.09 * l_3) / Deltah_3;
        delta_4 = (2 * 0.09 * l_4) / Deltah_4;
        delta_5 = (2 * 0.09 * l_5) / Deltah_5;
        //7
        hH_1 = 1 / Math.Pow(((0.3 / 0.3) * Math.Pow(h0_1, delta_1 - 1) * Math.Pow(h1_1, delta_1 + 1)),2*delta_1);
        hH_2 = 1 / Math.Pow(((0.3 / 0.3) * Math.Pow(h0_2, delta_2 - 1) * Math.Pow(h1_2, delta_2 + 1)), 2 * delta_2);
        hH_3 = 1 / Math.Pow(((0.3 / 0.3) * Math.Pow(h0_3, delta_3 - 1) * Math.Pow(h1_3, delta_3 + 1)), 2 * delta_3);
        hH_4 = 1 / Math.Pow(((0.3 / 0.3) * Math.Pow(h0_4, delta_4 - 1) * Math.Pow(h1_4, delta_4 + 1)), 2 * delta_4);
        hH_5 = 1 / Math.Pow(((0.3 / 0.3) * Math.Pow(h0_5, delta_5 - 1) * Math.Pow(h1_5, delta_5 + 1)), 2 * delta_5);
        //8
        Nsig_1=(1/Deltah_1)*((0.3*h0_1)/(delta_1-2)*(Math.Pow((h0_1/hH_1),(delta_1-2)-1)+(0.3*h1_1)/(delta_1+2)*(Math.Pow((hH_1/h1_1),(delta_1+2))-1)));
        Nsig_2 = (1 / Deltah_2) * ((0.3 * h0_2) / (delta_2 - 2) * (Math.Pow((h0_2 / hH_2), (delta_2 - 2) - 1) + (0.3 * h1_2) / (delta_2 + 2) * (Math.Pow((hH_2 / h1_2), (delta_2 + 2)) - 1)));
        Nsig_3 = (1 / Deltah_3) * ((0.3 * h0_3) / (delta_3 - 2) * (Math.Pow((h0_3 / hH_3), (delta_3 - 2) - 1) + (0.3 * h1_3) / (delta_3 + 2) * (Math.Pow((hH_3 / h1_3), (delta_3 + 2)) - 1)));
        Nsig_4 = (1 / Deltah_4) * ((0.3 * h0_4) / (delta_4 - 2) * (Math.Pow((h0_4 / hH_4), (delta_4 - 2) - 1) + (0.3 * h1_4) / (delta_4 + 2) * (Math.Pow((hH_4 / h1_4), (delta_4 + 2)) - 1)));
        Nsig_5 = (1 / Deltah_5) * ((0.3 * h0_5) / (delta_5 - 2) * (Math.Pow((h0_5 / hH_5), (delta_5 - 2) - 1) + (0.3 * h1_5) / (delta_5 + 2) * (Math.Pow((hH_5 / h1_5), (delta_5 + 2)) - 1)));
        //9
        Pcr_1 = Kc2_1 * Nsig_1;
        Pcr_2 = Kc2_2 * Nsig_2;
        Pcr_3 = Kc2_3 * Nsig_3;
        Pcr_4 = Kc2_4 * Nsig_4;
        Pcr_5 = Kc2_5 * Nsig_5;
        //10
        X2_1 = 8 * Pcr_1 * 307.5 * ((1 - Math.Pow(0.3, 2)) / (3.14 * 210000));
        X2_2 = 8 * Pcr_2 * 307.5 * ((1 - Math.Pow(0.3, 2)) / (3.14 * 210000));
        X2_3 = 8 * Pcr_3 * 307.5 * ((1 - Math.Pow(0.3, 2)) / (3.14 * 210000));
        X2_4 = 8 * Pcr_4 * 307.5 * ((1 - Math.Pow(0.3, 2)) / (3.14 * 210000));
        X2_5 = 8 * Pcr_5 * 307.5 * ((1 - Math.Pow(0.3, 2)) / (3.14 * 210000));
        //
        lc_1 = Math.Sqrt(307.5 * Deltah_1 + Math.Pow(X2_1, 2)) + X2_1;
        lc_2 = Math.Sqrt(307.5 * Deltah_2 + Math.Pow(X2_2, 2)) + X2_2;
        lc_3 = Math.Sqrt(307.5 * Deltah_3 + Math.Pow(X2_3, 2)) + X2_3;
        lc_4 = Math.Sqrt(307.5 * Deltah_4 + Math.Pow(X2_4, 2)) + X2_4;
        lc_5 = Math.Sqrt(307.5 * Deltah_5 + Math.Pow(X2_5, 2)) + X2_5;
        //
        deltaL_1 = ((lc_1 - l_1) / l_1) * 100;
        deltaL_2 = ((lc_2 - l_2) / l_2) * 100;
        deltaL_3 = ((lc_3 - l_3) / l_3) * 100;
        deltaL_4 = ((lc_4 - l_4) / l_4) * 100;
        deltaL_5 = ((lc_5 - l_5) / l_5) * 100;
        //11
        P_1 = Pcr_1 * 1550 * lc_1;
        P_2 = Pcr_2 * 1550 * lc_2;
        P_3 = Pcr_3 * 1550 * lc_3;
        P_4 = Pcr_4 * 1550 * lc_4;
        P_5 = Pcr_5 * 1550 * lc_5;
        //12
        Mpr_1 = Kc2_1 * ((2 * 1550 * 307.5 * 0.09 * lc_1) / Deltah_1) * ((0.3 * h0_1) / (delta_1 - 2) * (Math.Pow((h0_1 / hH_1), (delta_1 - 2)) - 1) - (0.3 * h1_1) / (delta_1 + 2) * (Math.Pow((hH_1 / h1_1), (delta_1 + 2)) - 1));
        Mpr_2 = Kc2_2 * ((2 * 1550 * 307.5 * 0.09 * lc_2) / Deltah_2) * ((0.3 * h0_2) / (delta_2 - 2) * (Math.Pow((h0_2 / hH_2), (delta_2 - 2)) - 1) - (0.3 * h1_2) / (delta_2 + 2) * (Math.Pow((hH_2 / h1_2), (delta_2 + 2)) - 1));
        Mpr_3 = Kc2_3 * ((2 * 1550 * 307.5 * 0.09 * lc_3) / Deltah_3) * ((0.3 * h0_3) / (delta_3 - 2) * (Math.Pow((h0_3 / hH_3), (delta_3 - 2)) - 1) - (0.3 * h1_3) / (delta_3 + 2) * (Math.Pow((hH_3 / h1_3), (delta_3 + 2)) - 1));
        Mpr_4 = Kc2_4 * ((2 * 1550 * 307.5 * 0.09 * lc_4) / Deltah_4) * ((0.3 * h0_4) / (delta_4 - 2) * (Math.Pow((h0_4 / hH_4), (delta_4 - 2)) - 1) - (0.3 * h1_4) / (delta_4 + 2) * (Math.Pow((hH_4 / h1_1), (delta_4 + 2)) - 1));
        Mpr_5 = Kc2_5 * ((2 * 1550 * 307.5 * 0.09 * lc_5) / Deltah_5) * ((0.3 * h0_5) / (delta_5 - 2) * (Math.Pow((h0_5 / hH_5), (delta_5 - 2)) - 1) - (0.3 * h1_5) / (delta_5 + 2) * (Math.Pow((hH_5 / h1_1), (delta_5 + 2)) - 1));
        //13
        N1 = (Mpr_1 * 4.4) / 307.5;
        N2 = (Mpr_2 * 7.4) / 307.5;
        N3 = (Mpr_3 * 10) / 307.5;
        N4 = (Mpr_4 * 13.3) / 307.5;
        N5 = (Mpr_5 * 20) / 307.5;
 
 
        //// вывод значений 
        Console.WriteLine("Значение h0 1-5");
        Console.WriteLine(h0_1); Console.WriteLine(h0_2); Console.WriteLine(h0_3); Console.WriteLine(h0_4); Console.WriteLine(h0_5);
        Console.WriteLine("Значение h1 1-5");
        Console.WriteLine(h1_1); Console.WriteLine(h1_2); Console.WriteLine(h1_3); Console.WriteLine(h1_4); Console.WriteLine(h1_5);
        Console.WriteLine("Значение N 1-5");
        Console.WriteLine(N1); Console.WriteLine(N2); Console.WriteLine(N3); Console.WriteLine(N4); Console.WriteLine(N5);
        Console.WriteLine("Значение M 1-5");
        Console.WriteLine(Mpr_1); Console.WriteLine(Mpr_2); Console.WriteLine(Mpr_3); Console.WriteLine(Mpr_4); Console.WriteLine(Mpr_5);
        Console.WriteLine("Значение P 1-5");
        Console.WriteLine(P_1); Console.WriteLine(P_2); Console.WriteLine(P_3); Console.WriteLine(P_4); Console.WriteLine(P_5);
        Console.ReadKey();
    }
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.12.2013, 22:15
Я подобрал для вас темы с готовыми решениями и ответами на вопрос .NET 4.x В какой тип данных конвертировать результат, что бы выдавало число, а не "бесконечность или NaN" (C#):

Тип данных "bool?" - что означает знак вопроса - C#
Здравствуйте! Читаю книгу по c#. В ней есть пример создания класса, в котором объявляется такое свойство: public bool? WillAttend {...

Методом вычислить тип треугольника: "не существует", "тупоугольный", "прямоугольный", "остроугольный" - C#
Помогите пожалуйста С помощью метода вычислить тип треугольника::cry: 1) если первый параметр задает, на основании чего определить тип...

Прибавление строк string a="a"+"b" |=какой то число - C#
у меня такая простая ситуация хотел вывести на экран (так для проверки) несколько букв из одной строки но на экран выводится число. как...

Ошибка CS0234 Тип или имя пространства имен "Interpor" не существует в пространстве имен "Microsoft.Office" - C#
Выбивает "Ошибка CS0234 Тип или имя пространства имен "Interpor" не существует в пространстве имен "Microsoft.Office" (возможно,...

Конвертировать строку в число. Подобрать тип данных - C#
Здравствуйте есть такая строка -4.99218750e+000, надо ее конвертировать в число, не могу подобрать тип данных, подскажите пожалуйста.

Определить, какой человек указан в списке раньше: самый "старый" или самый "молодой" - C#
Известен возраст группы людей в списке. Какой человек указан в списке раньше: самый "старый" или самый "молодой"? (Должны учитываться...

18
ViterAlex
6271 / 3475 / 1060
Регистрация: 11.02.2013
Сообщений: 7,658
Завершенные тесты: 3
10.12.2013, 22:17 #2
Какое число ты хочешь получить вместо бесконечности или не номера (т.е. NAN)?
1
memphis
628 / 191 / 33
Регистрация: 12.12.2012
Сообщений: 385
11.12.2013, 01:28 #3
Цитата Сообщение от BadMasterUA Посмотреть сообщение
Кому интересно код программы:
Мда... Как увидел этот список переменных, так сразу понял, что мне уже не интересно.
И как вы сами в них не заблудились? (Вопрос риторический.)
0
BadMasterUA
0 / 0 / 0
Регистрация: 12.09.2013
Сообщений: 43
11.12.2013, 08:41  [ТС] #4
Цитата Сообщение от ViterAlex Посмотреть сообщение
Какое число ты хочешь получить вместо бесконечности или не номера (т.е. NAN)?
Хотя-бы с одним знаком после запятой.

Добавлено через 3 минуты
Цитата Сообщение от memphis Посмотреть сообщение
Мда... Как увидел этот список переменных, так сразу понял, что мне уже не интересно.
И как вы сами в них не заблудились? (Вопрос риторический.)
:-) в них не сложно разобраться если знаешь формулы. Я сам с радостью сделал это все циклом но увы, тогда бы увы неправильно считалось.
0
valera_21
364 / 350 / 64
Регистрация: 05.01.2010
Сообщений: 1,453
Завершенные тесты: 5
11.12.2013, 12:11 #5
Цитата Сообщение от BadMasterUA Посмотреть сообщение
Хотя-бы с одним знаком после запятой.
бесконечность с одним знаком после запятой - сильно, как впрочем и не число с одним знаком (с каким же интересно) после запятой
0
pincet
1297 / 884 / 106
Регистрация: 23.07.2010
Сообщений: 4,777
11.12.2013, 13:31 #6
Цитата Сообщение от BadMasterUA Посмотреть сообщение
Кому интересно код программы:
Фееричный пример того, как не надо писать код. "Массивы? не, не слыхал!"
1
BadMasterUA
0 / 0 / 0
Регистрация: 12.09.2013
Сообщений: 43
11.12.2013, 18:47  [ТС] #7
Цитата Сообщение от pincet Посмотреть сообщение
Фееричный пример того, как не надо писать код. "Массивы? не, не слыхал!"
слышал ( но не разобрался
0
memphis
628 / 191 / 33
Регистрация: 12.12.2012
Сообщений: 385
11.12.2013, 18:55 #8
Цитата Сообщение от BadMasterUA Посмотреть сообщение
не разобрался
BadMasterUA, пока не разберётесь, дальше двигаться нет никакого смысла. Это как жить в городе и не разбираться в сигналах светофора - жить можно, но в пределах квартала.
1
BadMasterUA
0 / 0 / 0
Регистрация: 12.09.2013
Сообщений: 43
11.12.2013, 19:06  [ТС] #9
подскажите как все таки числа вытянуть, мне нужны они для курсовой.
0
memphis
628 / 191 / 33
Регистрация: 12.12.2012
Сообщений: 385
11.12.2013, 19:21 #10
BadMasterUA, значение NaN говорит о том, что где-то у вас фигня в вычислениях. Первый кандидат - деление на 0. Double.NaN - поле.
Вот вы и найдите в своей программе то место где появляется NaN. Или ждите когда найдётся желающий разобраться в вашей программе, причём неизвестно даже, что она делает.
1
BadMasterUA
0 / 0 / 0
Регистрация: 12.09.2013
Сообщений: 43
11.12.2013, 19:31  [ТС] #11
Сейчас посмотрю, а так это программа для определения параметров холодной прокатки в моем случае на НСХП 1550 Новолипецкого металлургического комбината. правда есть одно место в программе, которое уже заставляет меня задуматься это вот эта формула
В какой тип данных конвертировать результат, что бы выдавало число, а не "бесконечность или NaN"
я записал ее в программе в таком варианте так как на знаю как вычислить такой корень
hH_1 = 1 / Math.Pow(((0.3 / 0.3) * Math.Pow(h0_1, delta_1 - 1) * Math.Pow(h1_1, delta_1 + 1)),2*delta_1);
0
memphis
628 / 191 / 33
Регистрация: 12.12.2012
Сообщений: 385
11.12.2013, 20:05 #12
BadMasterUA, сделайте вычисление того выражения, которое под корнем отдельной частью программы. В этом нет математической хитрости, это просто поможет не запутаться, да и искать проблемы будет легче.

Пока что я вижу, что на картинке вы должны извлекать корень 2*delta, т. е.
C#
1
hH_1 = Math.Pow(подкоренное_выражение, 1 / (2 * delta));
причём эта дельта без индекса, т.е. просто какая-то ваша дельта. А вы возводите в степень 2*delta_1...
И вот это: 1 / Math.Pow(... Ага, вот это 1 / ... должно быть в показателе степени, как я только что написал, а не для результата вычисления.

... Как-то всё это не весело.
0
BadMasterUA
0 / 0 / 0
Регистрация: 12.09.2013
Сообщений: 43
11.12.2013, 20:16  [ТС] #13
Спасибо попробую, можете посмотреть я вот решил все таки, что бы разобраться с масивами решил переписать программы с использованием одномерного масива правильно я делаю?
Кликните здесь для просмотра всего текста
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
/////////////вариант с масивами//////////////////////
using System;
using System.IO;
 
class a1
{
    static Double[] P; static Double[] N;
    static Double[] M; static Double[] h0;
    static Double[] h1; static Double[] E;
    static Double[] Deltah; static Double[] L;
    static Double[] sigmaTC; static Double[] Kc2;
    static Double[] delta; static Double[] h_H;
    static Double[] hH; static Double[] X2;
    static Double[] lc; static Double[] DeltaL;
 
    static void Main()
    {
        StreamWriter f = new StreamWriter("Результаты лабы 6v2.txt");
 
        h0 = new Double[4];
        h0[0] = 1.8;
        h0[1] = 1.1;
        h0[2] = 0.8;
        h0[3] = 0.6;
        h0[4] = 0.48;
        h1 = new Double[4];
        h1[0] = 1.1;
        h1[1] = 0.8;
        h1[2] = 0.6;
        h1[3] = 0.48;
        h1[4] = 0.4;
        E = new Double[4];
        E[0] = 0.39;
        E[1] = 0.28;
        E[2] = 0.25;
        E[3] = 0.2;
        E[4] = 0.16;
        P = new Double[4];
        N = new Double[4];
        M = new Double[4];
        Deltah = new Double[4];
        DeltaL = new Double[4];
        L = new Double[4];
        lc = new Double[4];
        X2 = new Double[4];
        h_H = new Double[4];
        //// вычисления////
        for (int i = 1; i <= 4; i++)
        {
            Deltah[i] = h0[i] - h1[i];
            L[i] = Math.Sqrt(307.5 * Deltah[i]);
        }
 
        f.Close();
        Console.ReadKey();
    }
}

и можете подсказать как это все потом вывести в массивы M,P,N и что бы ввывести результаты в консоль.
0
memphis
628 / 191 / 33
Регистрация: 12.12.2012
Сообщений: 385
11.12.2013, 21:46 #14
BadMasterUA, в новом коде я не могу разобраться, не забывайте, что я не владею предметной областью. Такое количество массивов всё равно не радует. Что вы там конкретно меряете я тоже не знаю.
Знаю, что результаты измерений вы должны прогнать через одну или несколько формул. Результаты вычислений по каждой серии вы должны усреднить и, возможно сверить с теоретическим значением.
А вот как скомпоновать эти самые результаты измерений, конечно же я не могу заочно сказать. Могу лишь предположить, что для каждой серии замеров вы должны завести массив массивов. Длиной этого массива будет количество замеряемых параметров, а в каждый подмассив вы вносите результаты замеров. Как-то так. Это всё организационные вопросы. Они помогут найти то место, где появляется NaN и тогда уже надо смотреть "кто виноват" и "что делать".
0
BadMasterUA
0 / 0 / 0
Регистрация: 12.09.2013
Сообщений: 43
11.12.2013, 22:33  [ТС] #15
ну суть этой программы посчитать параметры по клетям: Момент прокатки, мощность эл.дв и т.д. Я до писал код но там выбивает не явное преоброзование "Ошибка 1 Неявное преобразование типа "double" в "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
/////////////вариант с масивами//////////////////////
using System;
using System.IO;
 
class a1
{
    static Double[] P; static Double[] N;
    static Double[] M; static Double[] h0;
    static Double[] h1; static Double[] E;
    static Double[] Deltah; static Double[] L;
    static Double[] sigmaTC; static Double[] Kc2;
    static Double[] delta; static Double[] h_H;
    static Double[] hH; static Double[] X2;
    static Double[] lc; static Double[] DeltaL;
    static Double[] Nsigma; static Double[] Pcr;
    static Double[] V;
 
    static void Main()
    {
        StreamWriter f = new StreamWriter("Результаты лабы 6v2.txt");
 
        h0 = new Double[5];
        h0[0] = 1.8;
        h0[1] = 1.1;
        h0[2] = 0.8;
        h0[3] = 0.6;
        h0[4] = 0.48;
        h1 = new Double[5];
        h1[0] = 1.1;
        h1[1] = 0.8;
        h1[2] = 0.6;
        h1[3] = 0.48;
        h1[4] = 0.4;
        E = new Double[5];
        E[0] = 0.39;
        E[1] = 0.28;
        E[2] = 0.25;
        E[3] = 0.2;
        E[4] = 0.16;
        V = new Double[5];
        V[0] = 4.4;
        V[1] = 7.4;
        V[2] = 10;
        V[3] = 13.3;
        V[4] = 20;
        P = new Double[5];
        N = new Double[5];
        M = new Double[5];
        Deltah = new Double[5];
        DeltaL = new Double[5];
        L = new Double[5];
        lc = new Double[5];
        X2 = new Double[5];
        h_H = new Double[5];
        Nsigma=new Double[5];
        Pcr = new Double[5];
        //// вычисления////
        for (int i = 1; i <= 5; i++)
        {
            Deltah[i] = h0[i] - h1[i];
            L[i] = Math.Sqrt(307.5 * Deltah[i]);
            sigmaTC[i] = 241.3 + (2 / 3) * 1133.4 * E[i] + (8 / 15) * (-1195.2) * Math.Pow(E[i], 2) + (16 / 35) * 525.6 * Math.Pow(E[i], 3);
            Kc2[i] = 1.15 * sigmaTC[i];
            delta[i] = (2 * 0.09 * L[i]) / Deltah[i];
            h_H[i] = Math.Pow(((0.3 / 0.3) * Math.Pow(h0[i], delta[i] - 1) * Math.Pow(h1[i], delta[i] + 1)), 2 * delta[i]);
            /////ошибка //Nsigma = (1 / Deltah[i]) * ((0.3 * h0[i]) / (delta[i] - 2) * (Math.Pow((h0[i] / hH[i]), (delta[i] - 2) - 1) + (0.3 * h1[i]) / (delta[i] + 2) * (Math.Pow((hH[i] / h1[i]), (delta[i] + 2)) - 1)));
            Pcr[i] = Kc2[i] * Nsigma[i];
            X2[i] = 8 * Pcr[i] * 307.5 * ((1 - Math.Pow(0.3, 2)) / (3.14 * 210000));
            lc[i] = Math.Sqrt(307.5 * Deltah[i] + Math.Pow(X2[i], 2)) + X2[i];
            /////ошибка///DeltaL = (lc[i] - L[i] / L[i]) * 100;
            P[i] = Pcr[i] * 1550 * lc[i];
            M[i] = Kc2[i] * ((2 * 1550 * 307.5 * 0.09 * lc[i]) / Deltah[i]) * ((0.3 * h0[i]) / (delta[i] - 2) * (Math.Pow((h0[i] / hH[i]), (delta[i] - 2)) - 1) - (0.3 * h1[i]) / (delta[i] + 2) * (Math.Pow((hH[i] / h1[i]), (delta[i] + 2)) - 1));
 
        }
        Array.Sort(P);
        Console.WriteLine(Array.BinarySearch(P, 1));
        f.Close();
        Console.ReadKey();
    }
}
0
11.12.2013, 22:33
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.12.2013, 22:33
Привет! Вот еще темы с ответами:

.NET 4.x Графический редактор и ошибка "System.Windows.Forms.Cursor" является "тип", но используется как "переменная" - C#
Всем привет.Пишу программу простейший графический редактор.Нужно,чтобы при рисовании линии на контроле panel1 запоминались начальные...

Ошибка 2 "Files.StreamRider.StreamWriter" является "пространство имен", но используется как "тип" - C#
Получаю следующую ошибку { FileStream Q1 = new FileStream(&quot;C:\\C#_directory\1.txt&quot;, FileMode.Create); ...

ошибка CS0118: "TreeView" является "пространство имен", но используется как "тип" - C#
Всем привет.Пишу WebPart для SharePoint, пытаюсь сделать TreeView для списка.Мне выдает ошибку 1) &quot;TreeView&quot; является &quot;пространство...

SOCKS сервер для принятия данных с браузера. Что означают команды "GET", "POST" - C#
Нужно сделать socks сервер. Создал TCP сервер, принимаю все данные с браузера. Вот только перед каждой ссылкой стоят разные (незнаю как...


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

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru