Mitax

2. Hornet Comm

Apr 29th, 2017
32
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.31 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5.  
  6. namespace _2.Hornet_Comm
  7. {
  8. class HornetComm
  9. {
  10. static void Main(string[] args)
  11. {
  12. var messageRecipient = new List<string>();
  13. var messagesText = new List<string>();
  14.  
  15. var broadcastFrequency = new List<string>();
  16. var broadcastText = new List<string>();
  17.  
  18. var line = Console.ReadLine();
  19.  
  20. while (line != "Hornet is Green")
  21. {
  22. string[] inputParams = line.Split(new[] { " <-> " }, StringSplitOptions.RemoveEmptyEntries);
  23.  
  24. if (inputParams.Length != 2)
  25. {
  26. line = Console.ReadLine();
  27. continue;
  28. }
  29.  
  30. var leftPart = inputParams[0];
  31. var rightPart = inputParams[1];
  32.  
  33. if (leftPart.All(char.IsDigit) && (rightPart.All(char.IsLetterOrDigit)))
  34. {
  35. //message
  36.  
  37. var reversed = leftPart.Select(x => x).Reverse().ToList();
  38. var currentRecipient = string.Join("",reversed);
  39. var currentText = rightPart;
  40.  
  41. messageRecipient.Add(currentRecipient);
  42. messagesText.Add(currentText);
  43. }
  44. else if (leftPart.All(s => !char.IsDigit(s)) && (rightPart.All(char.IsLetterOrDigit)))
  45. {
  46. //broadcast
  47.  
  48. var frequency = rightPart;
  49. var reversedFrequency = new StringBuilder();
  50.  
  51. foreach (var @char in frequency)
  52. {
  53. if (char.IsLower(@char))
  54. {
  55. reversedFrequency.Append(@char.ToString().ToUpper());
  56. }
  57. else if (char.IsUpper(@char))
  58. {
  59. reversedFrequency.Append(@char.ToString().ToLower());
  60. }
  61. else
  62. {
  63. reversedFrequency.Append(@char);
  64. }
  65. }
  66.  
  67. var currentText = leftPart;
  68. broadcastFrequency.Add(string.Join("", reversedFrequency));
  69. broadcastText.Add(currentText);
  70. }
  71.  
  72. line = Console.ReadLine();
  73. }
  74.  
  75. Console.WriteLine("Broadcasts:");
  76. if (broadcastFrequency.Count == 0)
  77. {
  78. Console.WriteLine("None");
  79. }
  80. else
  81. {
  82. for (int i = 0; i < broadcastFrequency.Count; i++)
  83. {
  84. Console.WriteLine($"{broadcastFrequency[i]} -> {broadcastText[i]}");
  85. }
  86. }
  87.  
  88. Console.WriteLine("Messages:");
  89. if (messagesText.Count == 0)
  90. {
  91. Console.WriteLine("None");
  92. }
  93. else
  94. {
  95. for (int i = 0; i < messageRecipient.Count; i++)
  96. {
  97. Console.WriteLine($"{messageRecipient[i]} -> {messagesText[i]}");
  98. }
  99. }
  100. }
  101. }
  102. }
Add Comment
Please, Sign In to add comment