Advertisement
Spiderbait90

Untitled

May 11th, 2017
243
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.98 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Text.RegularExpressions;
  6. using System.Threading.Tasks;
  7.  
  8. namespace _02.Spy_Gram
  9. {
  10.     class Program
  11.     {
  12.         static void Main(string[] args)
  13.         {
  14.             var key = Console.ReadLine().ToArray()
  15.                 .Select(x => x.ToString()).Select(int.Parse)
  16.                 .ToArray();
  17.  
  18.             var input = Console.ReadLine();
  19.             var data = new Dictionary<string, string>();
  20.             var pattern = new Regex(@"^TO: ([A-Z]+); MESSAGE: (.+);$");
  21.  
  22.             while (input != "END")
  23.             {
  24.                 var match = pattern.Match(input);
  25.  
  26.                 if (match.Length == 0)
  27.                 {
  28.                     input = Console.ReadLine();
  29.                     continue;
  30.                 }
  31.                 var message = match.ToString().ToCharArray()
  32.                     .Select(x => Convert.ToInt32(x)).ToArray();
  33.                 var name = match.Groups[1].ToString();
  34.                 int count = 0;
  35.                 for (int i = 0; i < message.Length; i++)
  36.                 {
  37.                     for (int b = count; b <= key.Length; b++)
  38.                     {
  39.                         if (b <= key.Length - 1)
  40.                         {
  41.                             message[i] += key[b];
  42.                             count++;
  43.                             break;
  44.                         }
  45.                         else
  46.                         {
  47.                             count = 0;
  48.                             i--;
  49.                         }
  50.                     }
  51.                 }
  52.                 var newmessage = message.Select(x => Convert.ToChar(x)).ToArray();
  53.                 data.Add(name, string.Join("", newmessage));
  54.  
  55.                 input = Console.ReadLine();
  56.             }
  57.  
  58.             foreach (var mess in data.OrderBy(x=>x.Key))
  59.             {
  60.                 Console.WriteLine(mess.Value);
  61.             }
  62.         }
  63.     }
  64. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement