Advertisement
gabi11

(Demo) C# Advanced Exam (17.02.2019) - 02. Excel Functions

Jun 11th, 2019
152
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.25 KB | None | 0 0
  1. using System;
  2. using System.Collections;
  3. using System.Collections.Generic;
  4. using System.Linq;
  5. using System.Text;
  6.  
  7. namespace Advanced
  8. {
  9.     class Program
  10.     {
  11.         static void Main(string[] args)
  12.         {
  13.             var number = int.Parse(Console.ReadLine());
  14.  
  15.             var header = Console.ReadLine().Split(", ").ToList();
  16.  
  17.             var rows = number - 1;
  18.  
  19.             var matrix = new string[rows][];
  20.  
  21.             for (int row = 0; row < rows; row++)
  22.             {
  23.                 var currentRow = Console.ReadLine()
  24.                 .Split(", ")
  25.                 .ToArray();
  26.  
  27.                 matrix[row] = currentRow;
  28.             }
  29.  
  30.             var input = Console.ReadLine().Split().ToArray();
  31.  
  32.             var command = input[0];
  33.             var headerToModify = input[1];
  34.  
  35.             var indexTomodify = header.IndexOf(headerToModify);
  36.  
  37.             switch (command)
  38.             {
  39.                 case "hide":
  40.                     header.RemoveAt(indexTomodify);
  41.  
  42.                     Console.WriteLine(string.Join(" | ", header));
  43.  
  44.                     var newMatrix = matrix.Select(x => x.Where((rr, c) => c != indexTomodify)).ToArray();
  45.  
  46.                     foreach (var row in newMatrix)
  47.                     {
  48.                         Console.WriteLine(string.Join(" | ", row));
  49.                     }
  50.  
  51.                     break;
  52.  
  53.                 case "sort":
  54.                     Console.WriteLine(string.Join(" | ", header));
  55.  
  56.                     var sortedMatrix = matrix.OrderBy(col => col[indexTomodify]).ToArray();
  57.  
  58.                     foreach (var row in sortedMatrix)
  59.                     {
  60.                         Console.WriteLine(string.Join(" | ", row));
  61.                     }
  62.  
  63.                     break;
  64.  
  65.                 case "filter":
  66.                     var itemToFilter = input[2];
  67.  
  68.                     Console.WriteLine(string.Join(" | ", header));
  69.  
  70.                     var filteredMatrix = matrix.Where(item => item[indexTomodify] == itemToFilter).ToArray();
  71.  
  72.                     foreach (var row in filteredMatrix)
  73.                     {
  74.                         Console.WriteLine(string.Join(" | ", row));
  75.  
  76.                     }
  77.  
  78.                     break;
  79.             }
  80.  
  81.         }
  82.     }
  83. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement