Guest User

Untitled

a guest
Oct 1st, 2018
109
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.09 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 ConsoleApp2
  9. {
  10. class Program
  11. {
  12. static void Main(string[] args)
  13. {
  14. string input;
  15. var broadcasts = new List<string>();
  16. var messages = new List<string>();
  17. var messagePattern = @"^([0-9]+) <-> ([0-9A-Za-z]+)$";
  18. var broadcastPattern = @"^([^0-9]+) <-> ([A-Za-z0-9]+)$";
  19. Regex messageRegex = new Regex(messagePattern);
  20. Regex broadcastRegex = new Regex(broadcastPattern);
  21. while ((input = Console.ReadLine()) != "Hornet is Green")
  22. {
  23.  
  24. Match messageMatch = messageRegex.Match(input);
  25. Match broadcastMatch = broadcastRegex.Match(input);
  26.  
  27. if (messageMatch.Success)
  28. {
  29. var recipient = messageMatch.Groups[1].Value;
  30. char[] array = recipient.ToCharArray();
  31. Array.Reverse(array);
  32. var recipientCode = new string(array);
  33. var message = messageMatch.Groups[2].Value;
  34. var outputMessage = recipientCode + " -> " + message;
  35. messages.Add(outputMessage);
  36. }
  37. else if (broadcastMatch.Success)
  38. {
  39. var message = broadcastMatch.Groups[1].Value;
  40. var frequency = broadcastMatch.Groups[2].Value.ToCharArray();
  41. for (int i = 0; i < frequency.Length; i++)
  42. {
  43. if (char.IsUpper(frequency[i]))
  44. {
  45. frequency[i] = char.ToLower(frequency[i]);
  46. continue;
  47. }
  48.  
  49. if (char.IsLower(frequency[i]))
  50. {
  51. frequency[i] = char.ToUpper(frequency[i]);
  52. }
  53. }
  54.  
  55. var outputFrequency = new string(frequency);
  56. var outputBroadcast = outputFrequency + " -> " + message;
  57. broadcasts.Add(outputBroadcast);
  58. }
  59. else
  60. {
  61. continue;
  62. }
  63.  
  64. }
  65.  
  66. Console.WriteLine("Broadcasts:");
  67. if (broadcasts.Count == 0)
  68. {
  69. Console.WriteLine("None");
  70. }
  71. else
  72. {
  73. foreach (var broadcast in broadcasts)
  74. {
  75. Console.WriteLine(broadcast);
  76. }
  77. }
  78.  
  79. Console.WriteLine("Messages:");
  80. if (messages.Count == 0)
  81. {
  82. Console.WriteLine("None");
  83. }
  84. else
  85. {
  86. foreach (var message in messages)
  87. {
  88. Console.WriteLine(message);
  89. }
  90. }
  91. }
  92. }
  93. }
Add Comment
Please, Sign In to add comment