Advertisement
desislava_topuzakova

6.

May 19th, 2022
289
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.61 KB | None | 0 0
  1. using System;
  2. using System.Linq;
  3.  
  4. namespace JaggedArray
  5. {
  6. internal class Program
  7. {
  8. static void Main(string[] args)
  9. {
  10. int rows = int.Parse(Console.ReadLine());
  11.  
  12. int[][] matrix = new int[rows][];
  13.  
  14. //пълним матрицата
  15. for (int row = 0; row < rows; row++)
  16. {
  17. //"10 20 30" -> ["10", "20", "30"] -> [10, 20, 30]
  18. matrix[row] = Console.ReadLine().Split().Select(int.Parse).ToArray();
  19. }
  20.  
  21. //анализ на матрицата
  22. for (int row = 0; row < rows - 1; row++)
  23. {
  24. if (matrix[row].Length == matrix[row + 1].Length)
  25. {
  26. matrix[row] = matrix[row].Select(el => el * 2).ToArray();
  27. matrix[row + 1] = matrix[row + 1].Select(el => el * 2).ToArray();
  28. }
  29. else
  30. {
  31. matrix[row] = matrix[row].Select(el => el / 2).ToArray();
  32. matrix[row + 1] = matrix[row + 1].Select(el => el / 2).ToArray();
  33. }
  34. }
  35.  
  36. //команди
  37. string command = Console.ReadLine();
  38.  
  39. while (command != "End")
  40. {
  41. int row = int.Parse(command.Split()[1]);
  42. int col = int.Parse(command.Split()[2]);
  43. int value = int.Parse(command.Split()[3]);
  44.  
  45. if (command.StartsWith("Add"))
  46. {
  47. //• "Add {row} {column} {value}".Split => ["Add", "3", "1", "10"]
  48. if (row >= 0 && row < rows && col >= 0 && col < matrix[row].Length)
  49. {
  50. matrix[row][col] = matrix[row][col] + value;
  51. //matrix[row][col] += value
  52. }
  53. }
  54. else if (command.StartsWith("Subtract"))
  55. {
  56. //• "Subtract {row} {column} {value}"
  57. if (row >= 0 && row < rows && col >= 0 && col < matrix[row].Length)
  58. {
  59. matrix[row][col] = matrix[row][col] - value;
  60. //matrix[row][col] -= value
  61. }
  62. }
  63.  
  64.  
  65.  
  66. command = Console.ReadLine();
  67. }
  68.  
  69. //печатаме матрицата
  70. foreach (int [] row in matrix)
  71. {
  72. //row -> int [3, 4, 5]
  73. Console.WriteLine(String.Join(' ', row));
  74. }
  75. }
  76. }
  77. }
  78.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement