|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
08.10.2013, 18:13 | #1 |
Форумчанин
Регистрация: 27.02.2012
Сообщений: 117
|
Работа с динамическими массивами
Добрый вечер, тут проблемка у меня немогу понять почему вылезает ошибка "invalid pointer operation" вот задание,
Задана полоска длиной 2k клеток и шириной в одну клетку. Полоску сгибают пополам так, чтобы правая половинка оказалась под левой. Сгибание продолжают до тех пор, пока сверху находится больше одной клетки. Необходимо пронумеровать клетки таким образом, чтобы после окончания сгибания полосы номера клеток в получившейся колонке были расположены в порядке 1,2,3,4,...,2k. Алгоритм: Сначала задаем динамический массив устанавливаем длинну строки 2^n и 1 столбец забиваем туда цифры от 1 до n, далее расширяем массив(столбцы) в 2 раза и в последний столбик закидываем ровно половину строк первого(в перевернутом виде). Ну и далее также Столбцы*2 и начиная с последнего двигаемся к середине и записываем половину строк противоположного от середины столбца. Вот код, если у кого есть идея упростить код, учту любое предложение. Код:
Последний раз редактировалось Heng; 08.10.2013 в 18:15. |
08.10.2013, 21:18 | #2 |
Форумчанин
Регистрация: 22.11.2011
Сообщений: 201
|
Там где:
Код:
Код:
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Lazarus (Работа с динамическими массивами) | Dionis46 | Lazarus, Free Pascal, CodeTyphon | 2 | 15.02.2012 21:26 |
Работа с динамическими массивами типа record | Олвин | Общие вопросы Delphi | 8 | 14.07.2011 01:13 |