#c#-4.0
#c #-4.0
Вопрос:
Привет, у меня здесь есть пример кода, в котором я пытаюсь сдвинуть массив на заданное количество раз.В выходных данных я хочу напечатать окончательный массив, сгенерированный после прохождения всех сдвигов.
public static void Main(string[] args)
{
int[] oldArray={1,2,3,4};
int[] newArray=Program.shiftRight(oldArray,3);
foreach(var item in newArray)
Console.Write(item " ");
}
public static int[] shiftRight(int[] arr,int times)
{
int[] demo = new int[arr.Length];
for (int i = 0; i < arr.Length; i )
{
demo[(i 1) % demo.Length] = arr[i];
}
foreach(var item in demo)
Console.Write(item " ");
Console.WriteLine("");
times--;
if(times>0)
{
shiftRight(demo,times);
}
Console.WriteLine("n");
return demo;
}
Результат, который я получаю, это
Привет, мир!
4 1 2 3
3 4 1 2
2 3 4 1
4 1 2 3
может кто-нибудь объяснить, почему в основном я не получаю вывод как «2 3 4 1»
но «4 1 2 3»?Заранее спасибо.
Комментарии:
1. Вы прошли через это с помощью отладчика?
2. @Hans нет блока try / catch.