Решаем задачи Абрамян на Паскале. Array124

Array124. Дано целое число $$K (\gt 0)$$ и целочисленный массив размера $$N$$. Поменять местами последнюю серию массива и его серию с номером $$K$$. Если серий в массиве меньше $$K$$, то вывести массив без изменений.

Решение:

 

Задачи из раздела Array  можно посмотреть здесь.

Комментарии:

Комментарии 1

  • Хотел было выложить код со вставками и сдвигами… Но что-то надоело высчитывание индексов (и подгон в отладчике). Да и код трудно читаемый. Рилли это не комфортное программирование. Я тут подумал, а не спроста таки в задаче Array116 были даны два дополнительных массива: один по длинам серий, другой — по элементам этих серий. Понятия не имею, насколько это эффективно вводить во всех заданиях этой группы два доп. массива, но, сдается мне, все эти задачи решаются таким методом весьма наглядно и непринужденно. Например, код для задач 123 и 124 будет отличаться в одной строчке. Алгоритм тут такой. Сначала, как в задаче 116, раскладываем массив в два доп. массива B и C по длинам и элементам серий. Затем производим обмен нужных нам серий в этих двух массивах (можно вообще любые серии менять). И, наконец, из этих измененных массивов собираем результирующий массив.

Добавить комментарий для Bronislav Отменить ответ

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