Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- namespace Advanced
- {
- class Program
- {
- static void Main(string[] args)
- {
- var number = int.Parse(Console.ReadLine());
- var header = Console.ReadLine().Split(", ").ToList();
- var rows = number - 1;
- var matrix = new string[rows][];
- for (int row = 0; row < rows; row++)
- {
- var currentRow = Console.ReadLine()
- .Split(", ")
- .ToArray();
- matrix[row] = currentRow;
- }
- var input = Console.ReadLine().Split().ToArray();
- var command = input[0];
- var headerToModify = input[1];
- var indexTomodify = header.IndexOf(headerToModify);
- switch (command)
- {
- case "hide":
- header.RemoveAt(indexTomodify);
- Console.WriteLine(string.Join(" | ", header));
- var newMatrix = matrix.Select(x => x.Where((rr, c) => c != indexTomodify)).ToArray();
- foreach (var row in newMatrix)
- {
- Console.WriteLine(string.Join(" | ", row));
- }
- break;
- case "sort":
- Console.WriteLine(string.Join(" | ", header));
- var sortedMatrix = matrix.OrderBy(col => col[indexTomodify]).ToArray();
- foreach (var row in sortedMatrix)
- {
- Console.WriteLine(string.Join(" | ", row));
- }
- break;
- case "filter":
- var itemToFilter = input[2];
- Console.WriteLine(string.Join(" | ", header));
- var filteredMatrix = matrix.Where(item => item[indexTomodify] == itemToFilter).ToArray();
- foreach (var row in filteredMatrix)
- {
- Console.WriteLine(string.Join(" | ", row));
- }
- break;
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement