Advertisement
Torgach

Shuffle_Mashl

Mar 3rd, 2021
110
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 3.64 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_Mashl
  8. {
  9.     class Program
  10.     {
  11.         static void Main(string[] args)
  12.         {
  13.             bool isRunning = true;
  14.  
  15.             int[] array = new int[5];
  16.             int[,] multiArray = new int[5, 5];
  17.  
  18.             Random rand = new Random();
  19.  
  20.             Console.WriteLine("[1] - Заполнить многомерный массив и перемешать \n[2] - Заполнить массив и перемешать\n[3] - Выход");
  21.             while (isRunning)
  22.             {
  23.                 Console.Write("\nEnter: ");
  24.                 switch (Console.ReadLine())
  25.                 {
  26.                     case "1":
  27.                         FillArray(multiArray, rand);
  28.                         Shuffle(multiArray, rand);
  29.                         break;
  30.                     case "2":
  31.                         FillArray(array, rand);
  32.                         Shuffle(array, rand);
  33.                         break;
  34.                     case "3":
  35.                         isRunning = false;
  36.                         break;
  37.                     default:
  38.                         Console.WriteLine("Повторите ввод!");
  39.                         break;
  40.                 }
  41.             }
  42.         }
  43.  
  44.         static void FillArray(int[,] multiArray, Random rand)
  45.         {
  46.             Console.WriteLine("До сортировки");
  47.             for (int i = 0; i < multiArray.GetLength(0); i++)
  48.             {
  49.                 for (int j = 0; j < multiArray.GetLength(1); j++)
  50.                 {
  51.                     multiArray[i, j] = rand.Next(0, 100);
  52.                     Console.Write(multiArray[i, j] + " ");
  53.                 }
  54.                 Console.WriteLine();
  55.             }
  56.             Console.WriteLine();
  57.         }
  58.  
  59.         static void Shuffle(int[,] multiArray, Random rand)
  60.         {
  61.             Console.WriteLine("После сортировки");
  62.             for (int i = 0; i < multiArray.GetLength(0); i++)
  63.             {
  64.                 for (int j = multiArray.GetLength(1) - 1; j >= 1; j--)
  65.                 {
  66.                     int k = rand.Next(j + 1);
  67.                     int temp = multiArray[i, k];
  68.                     multiArray[i, k] = multiArray[i, j];
  69.                     multiArray[i, j] = temp;
  70.                 }
  71.             }
  72.  
  73.             for (int i = 0; i < multiArray.GetLength(0); i++)
  74.             {
  75.                 for (int j = 0; j < multiArray.GetLength(1); j++)
  76.                 {
  77.                     Console.Write(multiArray[i, j] + " ");
  78.                 }
  79.                 Console.WriteLine();
  80.             }
  81.  
  82.         }
  83.  
  84.         static void FillArray(int[] array, Random rand)
  85.         {
  86.             Console.WriteLine("До сортировки");
  87.             for (int i = 0; i < array.Length; i++)
  88.             {
  89.                 array[i] = rand.Next(1, 100);
  90.                 Console.Write(array[i] + " ");
  91.             }
  92.             Console.WriteLine();
  93.         }
  94.  
  95.         static void Shuffle(int[] array, Random rand)
  96.         {
  97.             for (int i = array.Length - 1; i >= 1; i--)
  98.             {
  99.                 int j = rand.Next(i + 1);
  100.                 int tmp = array[j];
  101.                 array[j] = array[i];
  102.                 array[i] = tmp;
  103.             }
  104.  
  105.             Console.WriteLine("После сортировки");
  106.             for (int i = 0; i < array.Length; i++)
  107.             {
  108.                 array[i] = rand.Next(1, 100);
  109.                 Console.Write(array[i] + " ");
  110.             }
  111.             Console.WriteLine();
  112.         }
  113.     }
  114. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement