Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.IO;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- namespace zadacha_3_12_
- {
- class Program
- {
- private static string StatToString()
- {
- string output=String.Empty;
- for (int i = 0; i < stat.Length; i++)
- {
- output += (char) (i + 'a') + "-" + stat[i];
- }
- return output;
- }
- private static void BracketsCount(string tmp, ref int openBrackets, ref int closedBrackets)
- {
- for (int i = 0; i < tmp.Length; i++)
- {
- //статистика по строчным буквам
- if (tmp[i] >= 'a' && tmp[i] <= 'z')
- {
- stat[tmp[i] - 'a']++;
- }
- if (tmp[i] == '{')
- openBrackets++;
- if (tmp[i] == '}')
- closedBrackets++;
- }
- }
- static int[] stat=new int[26];//статистика по лат буквам
- static void Main(string[] args)
- {
- string tmp;
- int openBrackets=0;//{
- int closedBrackets=0;//}
- int total = 0; //общее кол-во символов
- var In = Console.In;//запоминаем входной поток
- //создаем файл и текстовый входной поток
- StreamReader streamIn;
- try
- {
- streamIn = new StreamReader(@"../../Program.cs");
- //настраиваем входной поток
- Console.SetIn(streamIn);
- //чтение из файла
- //восстановление потока
- while (true)
- {
- tmp = streamIn.ReadLine();
- if(tmp==null)
- break;//прерывание цикла
- total += tmp.Length;
- //подсчет кол-ва скобок
- BracketsCount(tmp,ref openBrackets,ref closedBrackets);
- Console.WriteLine(tmp.Trim());
- Console.WriteLine(tmp);
- }
- streamIn.Close();
- Console.SetIn(In);
- //обрабатываем данные по скобкам
- tmp = "{Баланс скобок не соблюден";
- if (openBrackets == closedBrackets)
- {
- tmp = "Баланс скобок соблюден, количество блоков " + openBrackets;
- }
- Console.WriteLine(StatToString());
- Console.WriteLine(tmp);
- }
- catch (IOException e)
- {
- Console.WriteLine(e.Message);
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement