Разминка

Доброго времени суток!

Раз сообщество не захотело участвовать в конкурсе «Зазеркалье» у меня появилась вот такая идея.
В ходе решения текущих задач и иногда попадаются не сложные, но забавные с точки зрения логики задачи. Мне захотелось узнать мнения других людей, как бы они решили подобные задачи. Так сказать, предлагаю немого поиграть разумом. Данная игра не должна отнимать много времени и сил. Но может стать интересным убивалкой времени, например в транспорте.
По аналогии с конкурсом КВН «Разминка» решил так же озаглавить данную игру и вести те же правила. То есть задается задача, все желающие могут написать свое решение и обсудить решения других. Предлагаемые решения не обязательно должно быть правильные, могут быть веселыми и находчивыми. 🙂 Через какое-то время автор должен выложить свое решение, либо признать одно из предложенных решений лучшим.
Так как идея моя, а вокруг не вижу толпы страждущих, назначаю себя Модератором игры. Вопросы задавать через меня (tae@azimut21.ru) я их буду выкладывать на сайте behind-mirror.ru, на форуме ru2.halfos.ru, в Fido эхе SU.OS2 и на страничке в вконтакте vk.com . Официальной местом станет сайт behind-mirror.ru. Отвечать и предлагать решения можно в любом месте. Как Модератор оставляю за собой право, лучшие комментарии и решения публиковать на всех указанных ресурсах. Если сообщество поддержит идею, эволюционным путем выберется одно удобное большинству место обсуждение.

Первая задача с меня.
Есть массив текстовых строк любой длины, с известным заранее числом элементов. Вначале он пустой, но постепенно заполняется. Когда заполняться все элементы массива, нужно что бы первый элемент удалялся, весь массив смещался, а новая строка добавлялась в конец массива.
Я решал данную задачу на Rexx, двумя способами. Но Валентин Кузнецов предложил третий, который мне показался интереснее моих. Поэтому лично мне было бы интереснее увидеть решение данной задачи на Rexx. Хотя вы вправе выбрать любой другой язык программирования.

Запись опубликована в рубрике Без рубрики. Добавьте в закладки постоянную ссылку.

Один комментарий на «Разминка»

  1. Improver говорит:

    Такой вариант решения был?
    1. Проиндексировать массив, получаем N индексов.
    2. Вводим переменную P, в которую будем заносить индекс текущей позиции, в начале P=N.
    3. При записи новой стоки делаем P=P-1 (если P = 0, то P = N), а потом пишем в позицию P.
    4. В задаче не указано, как будет производится чтение, с удалением строк или без, но читаем так: сначала строки с P до N, а потом с 1 до P-1. Если читать надо с удалением, то тогда корректируем P на число прочитанных строк.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *