|
Работа с массивами
|
|||
---|---|---|---|
#18+
The_Prist, Тут Shocker.Pro правильно заметил - есть зависимость и можно в том же excel построить по этим данным график зависимости и получить функцию. Хотел повыпендриваться сам перед собой) и сделать через массивы ... |
|||
:
Нравится:
Не нравится:
|
|||
10.02.2015, 12:34 |
|
Работа с массивами
|
|||
---|---|---|---|
#18+
Вот показательная задача того, чего я никак не мог понять. Код: vbnet 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.
... |
|||
:
Нравится:
Не нравится:
|
|||
13.02.2015, 10:36 |
|
Работа с массивами
|
|||
---|---|---|---|
#18+
Код: vbnet 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.
... |
|||
:
Нравится:
Не нравится:
|
|||
13.02.2015, 10:39 |
|
Работа с массивами
|
|||
---|---|---|---|
#18+
vdekameronВот я изначально делал через функции зависимости, но подумал может лучше массивами) короче сам себе геморрой устраиваю) Похоже без массивов тут не обойтись((( Но их получится72 штуки, что мне кажется не очень. Подскажите пожалуйста есть ли возможность обойтись проще. Попробую доступно объяснить что нужно, хотя это у меня редко получается Дано: 1)Массивы Затвор1Ступень1(300,300), Затвор2Ступень1(300,300)...Затвор8Ступень1(300,300) . . . Затвор1Ступень9(300,300), Затвор2Ступень9(300,300)...Затвор8Ступень9(300,300) Первая размерность -300 принимает знач. во всех массивах от 26-29 с шагом в 0,01- это Верхний Бьеф Вторая размерность - 300 в каждом массиве принимает разные значения- это водосброс 2) Исходные данные - Верхний бьеф(например-28.22) , Водосброс(например 200), Константа=10 3) График открытия щитов (сначала открыть 7,5,3,4,6,8) т.е. сначала пробежать массив Затвор7Ступень1, потом Затвор5Ступень1, Затвор3Ступень1 и т.д. Необходимый алгоритм:( Смысл алгоритма в том, чтобы вычислить какие затворы и на какие ступени нужно открыть, чтобы сбрасывать нужное количество воды) 1)Пробегаем массив Затвор7Ступень1(300,300) и находим бьеф равный исходному- 28.22 2)Смотрим чему равен водосброс в этом массиве при этом бьефе и если он меньше исходного на Константу, то переходим на Затвор5ступень1(при этом запомнив значение водосброса в Затвор7Ступеньй) 3)Пробегаем Затвор5ступень1 находим бьеф 28.22 смотрим какой при этом бьефе водосброс складываем его с водосбросом из Затвор7Ступень1 и сравниваем с исходным(200). Если на константу меньше исходного, то запоминаем водосброс и переходим на след. Затвор3Ступень1. И так до того момента, пока суммированный водосброс не станет больше исходного. Тогда расчет прекращается и на экран выводится номера затворов которые необходимо открыть на нужное кол-во ступеней и показывается при этом какой будет водосброс. Потом я планирую все это сделать графически красиво, но это уже потом, если у меня получится сделать основное Понимаю что в этой паутине несуразных объяснений трудно разобраться, но я буду очень признателен если вы сможете уделить свое время и подсказать лучшее решение. Заранее огромное спасибо за желание помочь! ... |
|||
:
Нравится:
Не нравится:
|
|||
01.03.2015, 13:29 |
|
Работа с массивами
|
|||
---|---|---|---|
#18+
правильно я понял, что всего 72 массива по 90 тысяч значений (итого 6,5 млн значений)? нехилые такие исходные данные, как же ими управляют и в каком виде они вообще предоставлены? ... |
|||
:
Нравится:
Не нравится:
|
|||
01.03.2015, 13:53 |
|
Работа с массивами
|
|||
---|---|---|---|
#18+
Shocker.Proправильно я понял, что всего 72 массива по 90 тысяч значений (итого 6,5 млн значений)? Да вы правильно поняли, но это снова я туплю и неправильно все представил. Каждый из этих 72 массивов наверное не двумерный. Потому что каждому значению верхнего бьефа( который меняется от 26-29 с шагом в сотую, т.е. 300 значений) соответствует одно единственное значение водосброса. Получается что массив одномерный в котором 300 значений. Вот пример реальных данных одного массива. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.03.2015, 15:11 |
|
Работа с массивами
|
|||
---|---|---|---|
#18+
Алгоритм, как я понимаю, расписан четко, что мешает его реализовать? ... |
|||
:
Нравится:
Не нравится:
|
|||
01.03.2015, 20:10 |
|
Работа с массивами
|
|||
---|---|---|---|
#18+
Shocker.ProАлгоритм, как я понимаю, расписан четко, что мешает его реализовать? Минимальный опыт в программировании. У меня алгоритм вырисовывается четко в голове. При чем благодаря тому, что я тут четко его расписал, понимаю что можно обойтись без массивов. Например: 1) запишу процедуру - Затвор7Ступень1, в которой подстатвив значение верхнего бьефа в уравнение, я получу значение водосброса. Сравню с исходным значением и если будет меньше то запомню и перейду на процедуру - Затвор5Ступень1 2) подставлю в уравнение значение верхнего бьефа, получу водосброс, сложу его с водосбросом из Затвор7Ступень1 и сравню с исходным значением. Если окажется меньше перехожу на Затвор3Ступень1 3) Выполняю те же действия и получаю водосброс больше исходного, в этом случае прекращаю расчет и вывожу нужные мне данные. Парадокс в том, что думаю весь день над тем как сделать и, не найдя решения, иду на крайний шаг- отписываю тут. А когда отписываю,то стараюсь четко вам объяснить, чтобы не тратить много вашего времени. А когда четко расписываю сам допетриваю до того как сделать Сейчас вроде вырисовалось более-менее. Буду пробовать. Извините за потраченное время ... |
|||
:
Нравится:
Не нравится:
|
|||
01.03.2015, 21:35 |
|
Работа с массивами
|
|||
---|---|---|---|
#18+
Можно отметить, что зависимость очень гладкая и отлично аппроксимируется параболой. Т.е. вместо массива из 300 значений можно иметь 3 числа, причем найти значение бьефа по водосбросу можно без поиска в массиве, а решая квадратное уравнение. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.03.2015, 23:15 |
|
Работа с массивами
|
|||
---|---|---|---|
#18+
Казанский, Абсолютно в душу верно)) Один в один так и сделал, только мне нужна хорошая точность, поэтому бью весь массив бьефа на 3 промежутка и по ним беру не полином. линию тренда а линейную и получаю 100 проц. точности. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.03.2015, 08:18 |
|
Работа с массивами
|
|||
---|---|---|---|
#18+
Конечно увеличиваю себе работу в 3 раза, но компенсирую точностью. Скажите, а можно ли размерность массива задать дробным числом или это абсурд? В умной книжке которую я прочитал такого варианта не было, вдруг просто автор не привел. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.03.2015, 08:21 |
|
|
start [/forum/topic.php?fid=60&msg=38891692&tid=2156013]: |
0ms |
get settings: |
10ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
49ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
52ms |
get tp. blocked users: |
1ms |
others: | 308ms |
total: | 456ms |
0 / 0 |