Advertisement
Joro_Paveto

05. Dict-Ref-Advanced

Jul 14th, 2017
201
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.85 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6.  
  7. namespace _05.Dict_Ref_Advanced
  8. {
  9.     class Program
  10.     {
  11.         public static void Main(string[] args)
  12.         {
  13.             string input = Console.ReadLine();
  14.             string[] newInput = input.Split(new char[] { '-', '>', ',', ' ' }, StringSplitOptions.RemoveEmptyEntries);
  15.             Dictionary<string, List<int>> keyValue = new Dictionary<string, List<int>>();
  16.             while (input != "end")
  17.             {
  18.                 int integer;
  19.                 if (int.TryParse(newInput[1], out integer))
  20.                 {
  21.                     List<int> values = new List<int>();
  22.                     for (int i = 1; i < newInput.Length; i++)
  23.                     {
  24.                         values.Add(int.Parse(newInput[i]));
  25.                     }
  26.                     //Console.WriteLine(newInput[0]);
  27.                     //foreach (var a in newInput)
  28.                     //{
  29.                     //    Console.WriteLine(a);
  30.                     //}
  31.  
  32.                     if (!keyValue.ContainsKey(newInput[0]))
  33.                     {
  34.                         keyValue.Add(newInput[0], values);
  35.                     }
  36.                     else
  37.                     {
  38.                         for (int j = 0; j < values.Count; j++)
  39.                         {
  40.                             keyValue[newInput[0]].Add(values[j]);
  41.                         }
  42.                     }
  43.                 }
  44.                 else
  45.                 {
  46.                    
  47.                    
  48.                     if (!keyValue.ContainsKey(newInput[0]) && keyValue.ContainsKey(newInput[1]))
  49.                     {
  50.                         keyValue.Add(newInput[0], keyValue[newInput[1]]);
  51.                     }
  52.                     else if (keyValue.ContainsKey(newInput[0]) && keyValue.ContainsKey(newInput[1]))
  53.                     {
  54.                         keyValue.Add(newInput[0], keyValue[newInput[1]]);
  55.                     }
  56.                 }
  57.                 input = Console.ReadLine();
  58.                 newInput = input.Split(new char[] { '-', '>', ',', ' ' }, StringSplitOptions.RemoveEmptyEntries);
  59.             }
  60.             foreach (KeyValuePair<string, List<int>> val in keyValue)
  61.             {
  62.                 Console.Write("{0} === ", val.Key);
  63.                 List<int> vals = val.Value;
  64.                 for(int f = 0; f <  vals.Count; f++)
  65.                 {
  66.                     if (f == vals.Count - 1)
  67.                     {
  68.                         Console.Write(vals[f]);
  69.                     }
  70.                     else
  71.                     {
  72.                         Console.Write(vals[f] + ", ");
  73.                     }
  74.                    
  75.                 }
  76.                 Console.WriteLine();
  77.             }
  78.            
  79.         }
  80.     }
  81. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement