Member 14802198 Ответов: 2

Изменение расположения элементов массива


Как я могу изменить расположение элементов массива на основе элементов другого массива?

Мне дан массив A с длиной X и еще один массив B, содержащий Z пар элементов из A.

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

Что я уже пробовал:

Например:
Первый массив: X=4, A[4] = [4 1 5 6]
Второй массив: Z=3, B[3][2]=[[4 1] [1 6] [5 5]]
Вывод программы:
G[Z][X]=
[ [1 4 5 6] // 4 и 1 поменялся местами
[6 4 5 1] // 1 и 6 поменялись местами
[6 4 5 1] ] // 5 и 5 поменялись местами

2 Ответов

Рейтинг:
1

KarstenK

"Да - вы можете!", если массив не объявлен константой.

(a) сначала вы должны извлечь и сохранить один элемент,
(b) чем вы можете присвоить второе значение первому
(c) и наконец, вы присваиваете первое (и сохраненное) значение второму элементу.

int arr[4] = {1,4,5,6};
int t = arr[0];//(a)
arr[0] = arr[1];//(b)
arr[1] = t;//(c)


CPallini

5.

Рейтинг:
0

OriginalGriff

Итак объявляем и заполняем массив A и B.
Затем объявите массив result как 2D, X около Z элементы.

Затем вам понадобятся два вложенных цикла: один для обработки каждой "строки" В B, а другой для обработки каждого элемента A.
Во внутреннем цикле скопируйте каждый элемент A в выходную строку.
Затем примените операцию подкачки, указанную в строке B, к только что созданной выходной строке.

После петель распечатайте его.

Если это не имеет большого смысла, тогда возьмите бумагу и карандаш и попробуйте сделать это вручную. Когда у вас есть идея, отсортированная в вашем уме, вы можете начать кодирование.

Но это твое домашнее задание, и я не дам тебе код! (Подсказка: это довольно простая вещь, когда вы решаете, что вам нужно сделать.)


CPallini

5.