tsekotsolov

Cubic's Message

Nov 30th, 2017
155
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.12 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Text;
  4. using System.Text.RegularExpressions;
  5.  
  6. namespace P04_Cubic_s_Messages
  7. {
  8.     class Program
  9.     {
  10.         static void Main()
  11.         {
  12.             var input = Console.ReadLine();
  13.  
  14.             var result = new Dictionary<string, string>();
  15.  
  16.  
  17.             while (input != "Over!")
  18.             {
  19.                 var numberOfCharecters = int.Parse(Console.ReadLine());
  20.                 var message = returnsMessage(input, numberOfCharecters);
  21.  
  22.                 if (message.Length == numberOfCharecters)
  23.                 {
  24.                     var digitPattren = @"[0-9+]";
  25.                     var allDigits = Regex.Matches(input, digitPattren);
  26.  
  27.                     var listofIndexes = new List<int>();
  28.  
  29.                     foreach (Match digit in allDigits)
  30.                     {
  31.  
  32.                         listofIndexes.Add(int.Parse(digit.Value));
  33.  
  34.                     }
  35.  
  36.                     var verificationCode = new StringBuilder();
  37.  
  38.                     foreach (var index in listofIndexes)
  39.                     {
  40.                         if (index >= 0 && index <= message.Length - 1)
  41.                         {
  42.                             verificationCode.Append(message[index]);
  43.                         }
  44.                         else
  45.                         {
  46.                             verificationCode.Append(" ");
  47.                         }
  48.                     }
  49.  
  50.                    
  51.                     result.Add(message, verificationCode.ToString());
  52.  
  53.                 }
  54.  
  55.                 input = Console.ReadLine();
  56.  
  57.             }
  58.  
  59.             foreach (var item in result)
  60.             {
  61.                 Console.WriteLine($"{item.Key} == {item.Value}");
  62.             }
  63.  
  64.         }
  65.  
  66.         private static string returnsMessage(string input, int numberOfCharecters)
  67.         {
  68.             string pattern = @"^([\d]+)([A-Za-z]+)([^A-Za-z\n]*)$";
  69.             Regex regex = new Regex(pattern);
  70.             Match match = regex.Match(input);
  71.  
  72.             var message = match.Groups[2].ToString();
  73.  
  74.             return message;
  75.         }
  76.     }
  77. }
Advertisement
Add Comment
Please, Sign In to add comment