Циклический сдвиг элементов в массиве
Информатика

Создайте программу, которая выполняет циклический сдвиг элементов вправо в массиве (например, 0-й элемент становится

Создайте программу, которая выполняет циклический сдвиг элементов вправо в массиве (например, 0-й элемент становится 1-м, 1-й становится 2-м, последний становится 0-м). Исходный массив {3, 5, 7, 9} должен превратиться в массив {9, 3, 5, 7}. Входные данные: сначала указано число n - количество элементов в массиве (1 <= n <= 35). Затем следуют n чисел через пробел - элементы массива. Массив состоит из целых чисел. Требуется ответ на языке C#.
Верные ответы (1):
  • Космическая_Следопытка
    Космическая_Следопытка
    8
    Показать ответ
    Тема занятия: Циклический сдвиг элементов в массиве


    Пояснение:

    Циклический сдвиг элементов в массиве представляет собой перемещение каждого элемента массива на одну позицию вправо, при этом последний элемент становится первым. Для решения этой задачи программы можно использовать дополнительную переменную, чтобы сохранить значение последнего элемента массива. Затем, начиная с последнего элемента и до первого, все элементы сдвигаются на одну позицию вправо. Наконец, первый элемент получает значение, которое было сохранено в дополнительной переменной.

    Например:

    python
    def cyclic_shift(arr):
    n = len(arr)
    last_element = arr[n-1]

    for i in range(n-1, 0, -1):
    arr[i] = arr[i-1]

    arr[0] = last_element
    return arr

    array = [3, 5, 7, 9]
    result = cyclic_shift(array)
    print(result) # Output: [9, 3, 5, 7]


    Совет:

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

    Дополнительное задание:

    Напишите программу, которая выполняет циклический сдвиг элементов в массиве на две позиции вправо. Исходный массив: [1, 2, 3, 4, 5]. Ожидаемый результат: [4, 5, 1, 2, 3].
Написать свой ответ: