![]() |
![]() |
sheka |
![]()
Сообщение
#1
|
![]() Я. ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 809 Пол: Мужской Реальное имя: Саша Репутация: ![]() ![]() ![]() |
Нужно в массиве 2n элементов поменять последовательность элементов на
а1аn+1a2an+2...ana2n Препод говорил, что с помощью одной переменной этого сделать нельзя. (доп массив из n элементов - не интересно). Вот что получилось (один запоминается, а на его место ставится, но уже на свое место другой): Curr := 2; но работает только для некоторых, и процент работающих с ростом n уменьшается. Для неработающих: должен где-то быть вызов буфера, но этого я не делал, т.к. для этого, по моей фантазии надо как минимум еще один булевый 2n-2 массив, что еще хуже дополнительного массива. Неужели он был прав? Сообщение отредактировано: sheka - 1.11.2010 20:04 |
![]() ![]() |
TarasBer |
![]()
Сообщение
#2
|
![]() Злостный любитель ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 755 Пол: Мужской Репутация: ![]() ![]() ![]() |
Ща попытаюсь разобраться, что тут написано.
У тебя код очень на лестницу смахивает, тяжело читать. Слово begin не надо отступать на два пробела из-под end. Его можно вообще с if на одной строке писать - ключевые слова все жирные, одинаково хороши видно. Просмотрел код. Он работает? Не думаю, ты же просто делаешь один цикл длины n. То есть цикл, возможно, получается с перехлёстом и вообще не так. > if a[Curr] mod 2 = 0 не понял, это же для произвольного массива надо! Как это ты обращаешься к содержимому и что-то делаешь исходя из его чётности? Сообщение отредактировано: TarasBer - 31.10.2010 20:01 -------------------- |
![]() ![]() |
![]() |
Текстовая версия | 20.07.2025 3:09 |