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

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

Решение:

 

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

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

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

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

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

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