using System;
public class RotateRight
{
public static void Main()
{
//Deklarieren und füllen eines Array.
int [] arr = new int [] {1, 2, 3, 4, 5};
//Die Variable n gibt an, wie oft der Array nach rechts rotiert werden soll.
int n = 2;
//Ausgabe des Original Arrays
Console.WriteLine("Original Array: ");
for (int i = 0; i < arr.Length; i++) {
Console.Write(arr[i] + " ");
}
for(int i = 0; i < n; i++){
int j, last;
//Speicher das letzte Element des Arrays in der Variable last
last = arr[arr.Length-1];
//Der Array kann nach rechts rotiert werden, dadurch, dass seine
// Elemente um eine Stelle versetzt werden. Dies kann erreicht
//werden, dadurch, dass man den Array in umgekehrter Sequenz
//durchläuft (die Schleife beginnt bei der Länge des Arrays -1
//und geht bis 0) und die Operation arr[j] = arr[j-1] ausführt.
for(j = arr.Length-1; j > 0; j--){
arr[j] = arr[j-1];
}
//Das alte letzte Element des Arrays wird dann zum ersten
//Element des gedrehten Arrays.
arr[0] = last;
}
//Zeilenumbruch einfügen
Console.WriteLine();
//Ausgabe des rotierten Arrays
Console.WriteLine("Der Array nach der Rotation nach rechts: ");
for(int i = 0; i< arr.Length; i++){
Console.Write(arr[i] + " ");
}
}
}