Advertisement
Mike_Goodman92

Untitled

Oct 24th, 2017
229
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.08 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 again
  9. {
  10. class Program
  11. {
  12. static void Main(string[] args)
  13. {
  14. string input = Console.ReadLine();
  15.  
  16. List<string> privateMassagesList = new List<string>();
  17. List<string> broadCastList = new List<string>();
  18.  
  19. while (input != "Hornet is Green")
  20. {
  21. string[] tokens = input.Split(new string[] { " <-> " }, StringSplitOptions.None);
  22.  
  23. // така не
  24. //string firstQuery = input.Remove(input.LastIndexOf('<') - 1).Trim();
  25. //string secondQuery = input.Substring(input.LastIndexOf('>') + 1).Trim();
  26.  
  27. // Трябва да проверява дали са нямаме празно firstQuery и secondQuery както и още стрингове нагоре " <-> "
  28. if (tokens.Length != 2)
  29. {
  30. input = Console.ReadLine();
  31. continue;
  32. }
  33.  
  34. string firstQuery = tokens[0];
  35. string secondQuery = tokens[1];
  36.  
  37. bool isItaNumber = Regex.IsMatch(firstQuery, @"[0-9]");
  38. bool checkIfOnlyLettersAndDigits = isItJustLetterOrDigits(secondQuery);
  39.  
  40. if (isItaNumber && checkIfOnlyLettersAndDigits)
  41. {
  42. firstQuery = Reverse(firstQuery);
  43. string enterToList = firstQuery + " -> " + secondQuery;
  44. privateMassagesList.Add(enterToList);
  45. }
  46.  
  47. if (!isItaNumber && checkIfOnlyLettersAndDigits)
  48. {
  49. secondQuery = ChangeLetterSizesInString(secondQuery);
  50. string enterToList1 = secondQuery + " -> " + firstQuery;
  51. broadCastList.Add(enterToList1);
  52. }
  53.  
  54.  
  55. input = Console.ReadLine();
  56. }
  57.  
  58. // Output:
  59.  
  60. Console.WriteLine("Broadcasts:");
  61.  
  62. if (broadCastList.Count == 0)
  63. {
  64. Console.WriteLine("None");
  65. }
  66. else
  67. {
  68. foreach (var item in broadCastList)
  69. {
  70. Console.WriteLine(item);
  71. }
  72. }
  73.  
  74.  
  75. Console.WriteLine("Messages:");
  76.  
  77. if (privateMassagesList.Count == 0)
  78. {
  79. Console.WriteLine("None");
  80.  
  81. }
  82. else
  83. {
  84. foreach (var item in privateMassagesList)
  85. {
  86. Console.WriteLine(item);
  87. }
  88. }
  89.  
  90.  
  91. }
  92.  
  93. private static bool isItJustLetterOrDigits(string secondQuery)
  94. {
  95. bool isitValid = true;
  96. for (int i = 0; i < secondQuery.Length; i++)
  97. {
  98. if (!char.IsLetterOrDigit(secondQuery[i]))
  99. {
  100. isitValid = false;
  101. break;
  102. }
  103. }
  104. return isitValid;
  105. }
  106.  
  107. public static string Reverse(string s)
  108. {
  109. char[] charArray = s.ToCharArray();
  110. Array.Reverse(charArray);
  111. return new string(charArray);
  112. }
  113.  
  114. private static string ChangeLetterSizesInString(string secondQuery)
  115. {
  116. string newString = "";
  117.  
  118. for (int i = 0; i < secondQuery.Length; i++)
  119. {
  120. if (char.IsLower(secondQuery[i]))
  121. {
  122. newString += char.ToUpper(secondQuery[i]);
  123. }
  124. else if (char.IsUpper(secondQuery[i]))
  125. {
  126. newString += char.ToLower(secondQuery[i]);
  127. }
  128. else
  129. {
  130. newString += secondQuery[i];
  131. }
  132. }
  133. return newString;
  134. }
  135.  
  136. }
  137. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement