|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
16.10.2013, 20:50 | #1 |
C/C++, Java
Участник клуба
Регистрация: 28.03.2012
Сообщений: 1,679
|
Проблема с динамическим выделением памяти
Добрый день!
Даже не знаю как описать проблему.... Программа выполняет решение дифференциального уравнения методом Рунге-Кутта. Проблема в динамическом выделении памяти. На сколько я могу судить неверно выделяется динамическая память... Скажу даже происходит выход за пределы массива x[i + 1]. Решение проблемы не по глазам... К тому же компилятор возмущается... warning C4244: функция: преобразование 'double' в 'size_t', возможна потеря данных естественно в строке где выделяется память под массивы. Сможет кто-нибудь намякнуть, как разрешить проблему в коде..??? Код:
"Keep it simple" - придерживайтесь простоты!
Уильям Оккам - "Не следует множить сущее без необходимости" Сложность - враг простоты и удобства! |
16.10.2013, 20:53 | #2 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
циклы то до n-1 нужно делать. Тем более присвоение в x[i + 1] и y[i + 1] есть, даже так будет выход за пределы
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
16.10.2013, 21:00 | #3 | |
C/C++, Java
Участник клуба
Регистрация: 28.03.2012
Сообщений: 1,679
|
Цитата:
http://www.simumath.net/library/book...f_Ur_method_RK Может есть какой-нибудь вариант???
"Keep it simple" - придерживайтесь простоты!
Уильям Оккам - "Не следует множить сущее без необходимости" Сложность - враг простоты и удобства! |
|
16.10.2013, 21:04 | #4 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
на вскидку сделайте 1-ый цикл до n-2, 2-ой до n-1
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
16.10.2013, 21:22 | #5 |
C/C++, Java
Участник клуба
Регистрация: 28.03.2012
Сообщений: 1,679
|
Как вариант.... Одной итерации не хватает для расчета x = 1.0. Что можно придумать.
Может увеличить объем выделяемой памяти...??? Например Код:
"Keep it simple" - придерживайтесь простоты!
Уильям Оккам - "Не следует множить сущее без необходимости" Сложность - враг простоты и удобства! |
16.10.2013, 21:28 | #6 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
Память для n+1 и оба цикла до n-1? Можно и так
Код:
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Последний раз редактировалось Аватар; 16.10.2013 в 21:31. |
16.10.2013, 21:36 | #7 |
C/C++, Java
Участник клуба
Регистрация: 28.03.2012
Сообщений: 1,679
|
Работает, но что-то не то... Наверно слишком дотошный
Может сам алгоритм реализации неправильный...? А что с предупреждением компилятора (пост №1)
"Keep it simple" - придерживайтесь простоты!
Уильям Оккам - "Не следует множить сущее без необходимости" Сложность - враг простоты и удобства! |
16.10.2013, 21:41 | #8 | |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
Цитата:
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
|
16.10.2013, 21:43 | #9 |
C/C++, Java
Участник клуба
Регистрация: 28.03.2012
Сообщений: 1,679
|
А по поводу алгоритма выполнения??? Может как-то по другому построить...?
"Keep it simple" - придерживайтесь простоты!
Уильям Оккам - "Не следует множить сущее без необходимости" Сложность - враг простоты и удобства! |
16.10.2013, 21:54 | #10 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
А что смущает? Разве что в лишней точке вычисления. Но она за пределами отрезка справа. А в алгоритме по ссылке описка, должно быть Yi+1=Yi + ...
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Последний раз редактировалось Аватар; 16.10.2013 в 21:59. |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Проблема с динамическим распределением памяти | takeNmake | Общие вопросы C/C++ | 2 | 01.04.2013 16:06 |
Проблема с выделением памяти в глобальной области windows forms(C++\CLI) | DartLenin | Помощь студентам | 2 | 24.01.2012 20:58 |
Массив динамических структур. Проблема с выделением памяти. | Алексей Емеля | Общие вопросы C/C++ | 6 | 15.07.2011 19:24 |