Advertisement
Guest User

Untitled

a guest
Feb 23rd, 2019
51
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.40 KB | None | 0 0
  1. using System;
  2.  
  3. namespace ExcelFunctions
  4. {
  5. class Program
  6. {
  7. static void Main(string[] args)
  8. {
  9. int rows = int.Parse(Console.ReadLine());
  10. string[] header = Console.ReadLine().Split(", ".ToCharArray(), StringSplitOptions.RemoveEmptyEntries);
  11. var matrix = new string[rows, header.Length];
  12.  
  13. for (int i = 0; i < header.Length; i++)
  14. {
  15. matrix[0, i] = header[i];
  16. }
  17.  
  18. for (int i = 1; i < rows; i++)
  19. {
  20. string[] input = Console.ReadLine().Split(", ".ToCharArray(), StringSplitOptions.RemoveEmptyEntries);
  21.  
  22. for (int j = 0; j < header.Length; j++)
  23. {
  24. matrix[i, j] = input[j];
  25. }
  26. }
  27.  
  28.  
  29. string[] commandArr = Console.ReadLine().Split();
  30. string command = commandArr[0];
  31.  
  32. switch (command)
  33. {
  34. case "hide":
  35. {
  36. string searchedHeader = commandArr[1];
  37.  
  38. var newMatrix = new string[matrix.GetLength(0), matrix.GetLength(1) - 1];
  39.  
  40. int newMatrixRow = 0;
  41. int newMatrixCol = 0;
  42. for (int i = 0; i < matrix.GetLength(1); i++)
  43. {
  44. if (matrix[0, i] == searchedHeader)
  45. {
  46. i++;
  47. }
  48. for (int j = 0; j < matrix.GetLength(0); j++)
  49. {
  50. newMatrix[newMatrixRow, newMatrixCol] = matrix[j, i];
  51. newMatrixRow++;
  52. }
  53. newMatrixRow = 0;
  54. newMatrixCol++;
  55. }
  56.  
  57. matrix = newMatrix;
  58. break;
  59. }
  60. case "sort":
  61. {
  62. break;
  63. }
  64. case "filter":
  65. {
  66. string searchedHeader = commandArr[1];
  67. string keyword = commandArr[2];
  68.  
  69. var newMatrix = new string[2 , matrix.GetLength(1)];
  70.  
  71. for (int i = 0; i < matrix.GetLength(1); i++)
  72. {
  73. if (matrix[0, i] == searchedHeader)
  74. {
  75. for (int j = 0; j < matrix.GetLength(0); j++)
  76. {
  77. if (matrix[j, i] == keyword)
  78. {
  79. int newMatrixRow = 0;
  80. int newMatrixCol = 0;
  81. for (int a = 0; a < matrix.GetLength(1); a++)
  82. {
  83. newMatrix[newMatrixRow, newMatrixCol] = matrix[0, a];
  84. newMatrixCol++;
  85. }
  86. newMatrixRow++;
  87. newMatrixCol = 0;
  88. for (int a = 0; a < matrix.GetLength(1); a++)
  89. {
  90. newMatrix[newMatrixRow, newMatrixCol] = matrix[j, a];
  91. newMatrixCol++;
  92. }
  93.  
  94. matrix = newMatrix;
  95. }
  96. }
  97. break;
  98. }
  99. }
  100. break;
  101. }
  102. }
  103.  
  104. for (int i = 0; i < matrix.GetLength(0); i++)
  105. {
  106. for (int j = 0; j < matrix.GetLength(1); j++)
  107. {
  108. Console.Write(matrix[i, j]);
  109.  
  110. if (j < matrix.GetLength(1) - 1)
  111. {
  112. Console.Write(" | ");
  113. }
  114. }
  115. Console.WriteLine();
  116. }
  117. }
  118. }
  119. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement