|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
31.03.2014, 12:47 | #1 |
Пользователь
Регистрация: 13.11.2012
Сообщений: 56
|
Задача о наборе высоты и скорости летательным аппаратом.
Доброго времени суток. Я пишу программу, которая находит минимальный расход топлива при наборе высоты и
скорости ЛА. Проблема в следующем: Когда я пытаюсь заполнить 1 строку массива S используя считанные значения из StringGridа массива, двигаясь справа налево, возникает ошибка "invalid pointer operation". Где ошибка, не понимаю. Вот код: Код:
Вот весь проектProject.rar И теория к нему Задача о наборе высоты и скорости летательным аппаратом.rar Мне одно не нравится, В теории присутствует координатная плоскость, что понятно. А в стринггрде оси можно расположить только сверху и слева,что не очень смотрится и затрудняет,думаю счет. Думал наклепать эдитов, но получится ограничение по ихкол-ву.. Может посоветуете? Осталось самое сложное, собственно. Посчитать значения S(расходы топлива) и найти оптимальный путь. Готов обсудить оплату, при необходимости. |
31.03.2014, 13:01 | #2 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
Для сведения - индексация динамических массивов с нуля начинается, аналогично колонки и строки стрингрида тоже с нуля.
while (c<=1) do - если c=1, то по этому условию обязательно влетите в минуса с нехорошими последствиями
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
31.03.2014, 13:15 | #3 | |
Пользователь
Регистрация: 13.11.2012
Сообщений: 56
|
Цитата:
А как тогда быть с while-ом? ведь считать нужно с конца? С репитом таких проблем не возникнет? |
|
31.03.2014, 13:20 | #4 | |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
Цитата:
А в WHILE условие выполняется пока истинно, в отличие от REPEAT
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
|
01.04.2014, 17:17 | #5 |
Пользователь
Регистрация: 13.11.2012
Сообщений: 56
|
чуть подправил
Код:
И еще одна странность, если вводить большое столбцов, то при прокручивании в ячейках цифры как бы накладываются друг на друга... Последний раз редактировалось .FROST.; 01.04.2014 в 18:48. |
02.04.2014, 09:11 | #6 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
Все напутано с индексами. Смотрим например выделение памяти под H - для 1-го индекса кол-во колонок задано, для 2-го - строк грида . А в цикле наоборот. И если колонок и строк разное кол-во, то неизбежен выход за пределы массива
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
02.04.2014, 13:12 | #7 |
Пользователь
Регистрация: 13.11.2012
Сообщений: 56
|
Тоже это заметил при тестировании. Планирую переделать заполнение грида.
|
06.04.2014, 19:37 | #8 |
Пользователь
Регистрация: 13.11.2012
Сообщений: 56
|
Даже за деньги никто не знает, как это сделать?
|
06.04.2014, 20:53 | #9 |
Заблокирован
Регистрация: 02.03.2014
Сообщений: 439
|
.FROST. За деньги три четверти форума знает. Только во первых, денег ни кто не предлагает, а во вторых для платных просьб есть соответственный раздел.
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Задача о минимальном наборе станций | Sparky | Помощь студентам | 0 | 17.12.2011 18:52 |
Задача на вычисление высоты в треугольнике | проФан | Паскаль, Turbo Pascal, PascalABC.NET | 1 | 19.10.2011 00:16 |
Работа с кассовым аппаратом | zabej | C# (си шарп) | 2 | 08.06.2011 09:40 |
Замена слов при наборе | medved6216 | Общие вопросы Delphi | 2 | 13.09.2010 17:54 |