Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- namespace ConsoleApp1;
- using System.Text;
- public class Task27
- {
- public void Run()
- {
- Console.InputEncoding = Encoding.Unicode;
- Console.OutputEncoding = Encoding.Unicode;
- int numbersArrayLength = 20;
- int randomRangeIncludedLowBound = 1;
- int randomRangeExcludedHighBound = 100;
- Random random = new Random();
- int[] numbers = new int[numbersArrayLength];
- string displayedNumbers = string.Empty;
- for ( int i = 0; i < numbersArrayLength; i++ )
- {
- numbers[i] = random.Next( randomRangeIncludedLowBound, randomRangeExcludedHighBound );
- displayedNumbers = $"{displayedNumbers}{numbers[i]} ";
- }
- Console.WriteLine( $"Source numbers:\n{displayedNumbers}\n" );
- bool canExit = false;
- while ( canExit == false )
- {
- Console.Write($"Input array roll offset: ");
- int numbersArrayRollOffset = int.Parse( Console.ReadLine() );
- int loopsOffset = 1;
- int numberArrayRollLoops = Math.Abs( numbersArrayRollOffset ) / numbersArrayLength + loopsOffset;
- int normalizedNumbersArrayRollOffset = (numbersArrayRollOffset + numbersArrayLength * numberArrayRollLoops) % numbersArrayLength;
- if ( normalizedNumbersArrayRollOffset == 0 )
- {
- Console.WriteLine("Array has no changes\n");
- }
- else
- {
- int indexOffset = 1;
- var lastIndex = numbersArrayLength - 1;
- for ( int rollStep = 0; rollStep < normalizedNumbersArrayRollOffset; rollStep++ )
- {
- int tempNumber = numbers[lastIndex];
- for ( int i = lastIndex - indexOffset; i >= 0 ; i-- )
- numbers[i + 1] = numbers[i];
- numbers[0] = tempNumber;
- }
- }
- displayedNumbers = string.Empty;
- for ( int i = 0; i < numbersArrayLength; i++ )
- displayedNumbers = $"{displayedNumbers}{numbers[i]} ";
- Console.WriteLine( $"Rolled numbers:\n{displayedNumbers}\n" );
- string properlyExitAnswer = "n";
- Console.WriteLine( $"Continue? Enter \'{properlyExitAnswer}\' for exit" );
- string continueAnswer = Console.ReadLine();
- canExit = string.Equals( continueAnswer, properlyExitAnswer );
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement