Как поменять два массива местами?

Рейтинг: 0Ответов: 1Опубликовано: 15.09.2014

Пусть дан массив из n элементов и массив из m элементов.
Нужно придумать алгоритм, по которому элементы второго массива заполнят первый массив, а элементы первого массива - второй. То есть нужно поменять местами два отрезка.

Пример:

{1,2,3} {4,5,6,7,8} --> {4,5,6} {7,8,1,2,3}

Пользоваться новой вспомогательной переменной или массивом нельзя. Имеются только параметры n, m и элементы массивов.

Обновление

Мне удалось придумать, как менять местами два элемента без помощи новой переменной, но для меня остается загадкой то, как поменять их в угодном мне порядке, чтобы получились нужные массивы.

Ответы

▲ 1

Объясню, как сделать это для 2-х переменных, потом попробую для массива.

Есть a = 2 и b = 3, тогда можно сделать b = b + a, тогда a = 2, а b = 5 и провести следующие 2 операции: a = b - a; (тогда a = 3, b = 5) b = b - a, тогда a = 3, b = 2. Готово!

Для массива a из 3 элементов и b из 5 элементов делаешь то же самое (a[1] с b[1], потом a[2] с b[2]...) и так до 3, а последние 2 просто вставляешь в другой массив, удаляя из начального.

P.S. Могу рассказать более подробно, если не понятно. Только напишите сначала язык программирования, на котором это требуется сделать.