|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу. Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста". Название темы слишком короткое или не отражает сути вашего вопроса. Тема исчерпала себя, помните, один вопрос - одна тема Прочитайте правила и заново правильно создайте тему. |
|
Опции темы | Поиск в этой теме |
08.04.2012, 17:48 | #1 |
Регистрация: 17.02.2012
Сообщений: 3
|
-вставить между средними строками первую строку в массиве
дан двуменый массив 8на7 заполненный случайным образом.
-вставить между средними строками первую строку (желательно кратко) |
08.04.2012, 18:33 | #2 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,318
|
После вставки строки получится массив 9 на 7.
При вставке нужно переместить нижнюю часть массива на строку ниже. Я надеюсь, что массив вы сформируете и сможете вывести. Сама вставка: Код:
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
|
08.04.2012, 18:34 | #3 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Это уже 9х7 массив будет.
Покажи как ты вводишь массив
I'm learning to live...
|
08.04.2012, 18:47 | #4 |
Регистрация: 17.02.2012
Сообщений: 3
|
через random
|
08.04.2012, 19:44 | #5 |
Старожил
Регистрация: 08.04.2012
Сообщений: 3,229
|
Я вижу 2 варианта решения проблемы.
1. Порядок: - перенести информацию из первой строки в дополнительно выделенный массив, - сдвинуть нижнюю половину вниз на одну строку, - вставить информацию, скопированную из первой строки в нужное место. Недостатки: - требуется дополнительная память (которую, впрочем, при некотором изменении алгоритма можно сократить до одного элемента), - реализация требует перемещения больших фрагментов памяти (более половины объема массива) - O(N). 2. Заменить массив на несколько иную структуру, например, на одномерный массив указателей на строки. При этом перемещать придется только указатели, а не сами данные - O(sqrt(N)). Примечание: Вместо массива можно использовать список, тогда собственно перемещение O(1), но, учитывая невозможность доступа непосредственно к середине списка, поиск O(sqrt(N)). |
09.04.2012, 14:19 | #6 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
в дополнение ко всему вышесказанному добавлю:
массивы в Delphi/Pascal при присвоении позволяют оперировать целыми строками. см. тему: Забавная и малоизвестная особенность работы с массивами в Pascal/Delphi в этой связи решение (предложенное выше BDA) вырождается в такое: полный код программы Код:
|
09.04.2012, 17:05 | #7 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,318
|
Serge_Bliznykov, да, удобное сокращение (постоянно о нем забываю ).
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Прочитать первую строку из memo | hacknet | Работа с сетью в Delphi | 1 | 22.10.2010 18:56 |
Выделить первую строку в таблице | Polotenchik | Microsoft Office Word | 3 | 27.07.2010 22:41 |
Поменять местами столбец и первую строку | DanteDMC3 | Помощь студентам | 1 | 12.02.2010 16:06 |
Вставить первую строку после строки, в которой находится первый встреченный максимальный элемент. | JiLiYa | Паскаль, Turbo Pascal, PascalABC.NET | 4 | 03.12.2008 12:13 |