Advertisement
Guest User

Untitled

a guest
Dec 8th, 2019
96
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.88 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.IO;
  4. using System.Linq;
  5. using System.Text;
  6. using System.Threading.Tasks;
  7.  
  8. namespace zadacha_3_12_
  9. {
  10. class Program
  11. {
  12. private static string StatToString()
  13. {
  14. string output=String.Empty;
  15. for (int i = 0; i < stat.Length; i++)
  16. {
  17. output += (char) (i + 'a') + "-" + stat[i];
  18. }
  19.  
  20. return output;
  21. }
  22. private static void BracketsCount(string tmp, ref int openBrackets, ref int closedBrackets)
  23. {
  24. for (int i = 0; i < tmp.Length; i++)
  25. {
  26. //статистика по строчным буквам
  27. if (tmp[i] >= 'a' && tmp[i] <= 'z')
  28. {
  29. stat[tmp[i] - 'a']++;
  30. }
  31.  
  32. if (tmp[i] == '{')
  33. openBrackets++;
  34. if (tmp[i] == '}')
  35. closedBrackets++;
  36. }
  37. }
  38. static int[] stat=new int[26];//статистика по лат буквам
  39. static void Main(string[] args)
  40. {
  41. string tmp;
  42. int openBrackets=0;//{
  43. int closedBrackets=0;//}
  44. int total = 0; //общее кол-во символов
  45. var In = Console.In;//запоминаем входной поток
  46. //создаем файл и текстовый входной поток
  47. StreamReader streamIn;
  48. try
  49. {
  50. streamIn = new StreamReader(@"../../Program.cs");
  51.  
  52.  
  53. //настраиваем входной поток
  54. Console.SetIn(streamIn);
  55. //чтение из файла
  56. //восстановление потока
  57. while (true)
  58. {
  59. tmp = streamIn.ReadLine();
  60. if(tmp==null)
  61. break;//прерывание цикла
  62. total += tmp.Length;
  63. //подсчет кол-ва скобок
  64. BracketsCount(tmp,ref openBrackets,ref closedBrackets);
  65. Console.WriteLine(tmp.Trim());
  66. Console.WriteLine(tmp);
  67.  
  68. }
  69. streamIn.Close();
  70. Console.SetIn(In);
  71. //обрабатываем данные по скобкам
  72. tmp = "{Баланс скобок не соблюден";
  73. if (openBrackets == closedBrackets)
  74. {
  75. tmp = "Баланс скобок соблюден, количество блоков " + openBrackets;
  76. }
  77. Console.WriteLine(StatToString());
  78. Console.WriteLine(tmp);
  79. }
  80. catch (IOException e)
  81. {
  82. Console.WriteLine(e.Message);
  83. }
  84. }
  85. }
  86. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement