Осуществить циклический сдвиг элементов массива влево (вправо) на k позиций - C#

Узнай цену своей работы

Формулировка задачи:

Дан массив размера N и число k (0 < k < 5, k < N). Осуществить циклический сдвиг элементов массива влево (вправо) на k позиций Помогите пожалуйста,не могу понять,как это сделать.

Решение задачи: «Осуществить циклический сдвиг элементов массива влево (вправо) на k позиций»

textual
Листинг программы
    class Program
    {
        static void Main(string[] args)
        {
 
            int[] arr = { 1, 2, 3, 4, 5 };
            int k = 3;
            int tmp;
            int nextInd = 0;
 
            Console.WriteLine(string.Join(" ", arr));
 
            for (int i = 0; i < arr.Length-1; ++i)
            {
                nextInd += k;
                nextInd %= arr.Length;
 
                tmp = arr[nextInd];
                arr[nextInd] = arr[0];
                arr[0] = tmp;
            }
 
            Console.WriteLine(string.Join(" ", arr));
 
        }
        
    }

Оцени полезность:

8   голосов , оценка 4.375 из 5
Похожие ответы