Advertisement
illiden

Shuffle

Dec 8th, 2019
182
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.71 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6.  
  7. namespace Shuffle
  8. {
  9.     class Program
  10.     {
  11.         static void Main(string[] args)
  12.         {
  13.             int[] array = new int[0];
  14.             bool exit = false;
  15.             while (!exit)
  16.             {
  17.                 Console.Clear();
  18.                 Console.WriteLine("1. Создать случайный массив из n элементов\n" +
  19.                                     "\n2. Shuffle - перемешать массив в случайном порядке\n" +
  20.                                     "\n3. Выход\n");
  21.                 Console.Write("Введите номер команды: ");
  22.                 switch (Convert.ToInt32(Console.ReadLine()))
  23.                 {
  24.                     case 1:
  25.                         Console.Write("\nВведите количество элементов массива (n): ");
  26.                         array = new int[Convert.ToInt32(Console.ReadLine())];
  27.                         RandomFill(ref array);
  28.                         ShowMass(array);
  29.                         Console.ReadKey();
  30.                         break;
  31.                     case 2:
  32.                         Console.Write("\nСколько раз вы хотите перемешать массив: ");
  33.                         Shuffle(ref array, Convert.ToInt32(Console.ReadLine()));
  34.                         ShowMass(array);
  35.                         Console.ReadKey();
  36.                         break;
  37.                     case 3:
  38.                         exit = true;
  39.                         break;
  40.                 }
  41.             }
  42.         }
  43.  
  44.         static void RandomFill(ref int[] array)
  45.         {
  46.             Random rand = new Random();
  47.             for (int i = 0; i < array.Length; i++)
  48.             {
  49.                 array[i] = rand.Next(0, 100);
  50.             }
  51.         }
  52.  
  53.         static void ShowMass(int[] array)
  54.         {
  55.             for (int i = 0; i < array.Length; i++)
  56.             {
  57.                 Console.Write(array[i] + " ");
  58.             }
  59.         }
  60.  
  61.         static void Shuffle(ref int[] array, int tasks = 100)
  62.         {
  63.             Random rand = new Random();
  64.             int randomNumberOne = 0;
  65.             int randomNumberTwo = 0;
  66.             int reserve = 0;
  67.             for (int i = 0; i < tasks; i++)
  68.             {
  69.                 randomNumberOne = rand.Next(0, array.Length);
  70.                 randomNumberTwo = rand.Next(0, array.Length);
  71.                 reserve = array[randomNumberOne];
  72.                 array[randomNumberOne] = array[randomNumberTwo];
  73.                 array[randomNumberTwo] = reserve;
  74.             }
  75.         }
  76.     }
  77. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement