Advertisement
elena1234

MatrixShuffling-with TryParse()

Dec 21st, 2020 (edited)
237
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.36 KB | None | 0 0
  1. using System;
  2. using System.Linq;
  3.  
  4. namespace MatrixShuffling
  5. {
  6.     class Program
  7.     {
  8.         static void Main(string[] args)
  9.         {
  10.             int[] input = Console.ReadLine().Split(" ", StringSplitOptions.RemoveEmptyEntries).Select(int.Parse).ToArray();
  11.             int rows = input[0];
  12.             int cols = input[1];
  13.             string[,] matrix = new string[rows, cols];
  14.             for (int row = 0; row < rows; row++)
  15.             {
  16.                 string[] currentRow = Console.ReadLine().Split(" ", StringSplitOptions.RemoveEmptyEntries).ToArray();
  17.                 for (int col = 0; col < cols; col++)
  18.                 {
  19.                     matrix[row, col] = currentRow[col];
  20.                 }
  21.             }
  22.  
  23.             while (true)
  24.             {
  25.                 string command = Console.ReadLine();
  26.                 if (command == "END")
  27.                 {
  28.                     break;
  29.                 }
  30.  
  31.                 string[] commandArray = command.Split(" ", StringSplitOptions.RemoveEmptyEntries).ToArray();
  32.                 if (commandArray[0] == "swap" &&
  33.                    int.TryParse(commandArray[1], out int row1) &&
  34.                    int.TryParse(commandArray[2], out int col1) &&
  35.                    int.TryParse(commandArray[3], out int row2) &&
  36.                    int.TryParse(commandArray[4], out int col2) &&
  37.                    row1 >= 0 && row1 < matrix.GetLength(0) &&
  38.                    col1 >= 0 && col1 < matrix.GetLength(1) &&
  39.                    row2 >= 0 && row2 < matrix.GetLength(0) &&
  40.                    col2 >= 0 && col2 < matrix.GetLength(1))
  41.                 {                
  42.                     string value1 = matrix[row1, col1];
  43.                     string value2 = matrix[row2, col2];
  44.                     matrix[row1, col1] = value2;
  45.                     matrix[row2, col2] = value1;
  46.  
  47.                     for (int row = 0; row < matrix.GetLength(0); row++)
  48.                     {
  49.                         for (int col = 0; col < matrix.GetLength(1); col++)
  50.                         {
  51.                             Console.Write(matrix[row, col] + " ");
  52.                         }
  53.  
  54.                         Console.WriteLine();
  55.                     }
  56.                 }
  57.  
  58.                 else
  59.                 {
  60.                     Console.WriteLine("Invalid input!");
  61.                 }
  62.             }
  63.         }
  64.     }
  65. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement