Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Text.RegularExpressions;
- using System.Threading.Tasks;
- using System.Diagnostics;
- using System.Threading;
- using System.IO;
- namespace контрольная
- {
- class Program
- {
- static long SumStringBuilder(StringBuilder text)
- {
- long Sum = 0;
- StringBuilder Number = new StringBuilder("0");
- for (int i = 0; i < text.Length; i++)
- {
- while((i < text.Length)&&(char.IsDigit(text[i])) )
- {
- Number.Append(text[i]);
- i++;
- }
- Sum += long.Parse(Number.ToString());
- Number.Remove(1,Number.Length-1);
- }
- return Sum;
- }
- static long SumRegular(string text)
- {
- Regex r = new Regex(@"\d+");
- Match number = r.Match(text);
- long Sum = 0;
- while (number.Success)
- {
- Sum += long.Parse(number.ToString());
- number = number.NextMatch();
- }
- return Sum;
- }
- static long SumString(string text)
- {
- long Sum = 0;
- string Number = ("0");
- for (int i = 0; i < text.Length; i++)
- {
- while ((i < text.Length) && (char.IsDigit(text[i])))
- {
- Number += text[i];
- i++;
- }
- Sum += long.Parse(Number);
- Number = Number.Remove(1, Number.Length-1);
- }
- return Sum;
- }
- //static string RandomString(int length)
- //{
- // const string chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 ;.,/'!?<>{}[]:+-_=";
- // var random = new Random();
- // return new string(Enumerable.Repeat(chars, length)
- // .Select(s => s[random.Next(s.Length)]).ToArray());
- //}
- static void Print(string temp2, StreamWriter fout)
- {
- StringBuilder temp1 = new StringBuilder(temp2);
- Stopwatch time1 = new Stopwatch();
- time1.Start();
- fout.WriteLine("SumStringBuilder: {0}", SumStringBuilder(temp1));
- time1.Stop();
- long milliSec1 = time1.ElapsedMilliseconds;
- fout.WriteLine("Time spand for StringBuilder: {0}", milliSec1);
- Stopwatch time2 = new Stopwatch();
- time2.Start();
- fout.WriteLine("SumRegular: {0}", SumRegular(temp2));
- time2.Stop();
- long milliSec2 = time2.ElapsedMilliseconds;
- fout.WriteLine("Time spand for RegularExpression: {0}", milliSec2);
- Stopwatch time3 = new Stopwatch();
- time3.Start();
- fout.WriteLine("SumString: {0}", SumString(temp2));
- time3.Stop();
- long milliSec3 = time3.ElapsedMilliseconds;
- fout.WriteLine("Time spand for String: {0}", milliSec3);
- fout.WriteLine();
- }
- static void Main(string[] args)
- {
- StreamWriter fout = new StreamWriter("c:/users/администратор/documents/visual studio 2012/Projects/контрольная/контрольная/output.txt",true);
- //string first = RandomString(50);
- //fout.WriteLine("Test1 (50 symbols): {0}", first);
- //fout.WriteLine();
- //Print(first, fout);
- //string second = RandomString(1000);
- //fout.WriteLine("Test2 (1000 symbols): {0}", second);
- //fout.WriteLine();
- //Print(second, fout);
- //string third = RandomString(10000);
- //fout.WriteLine("Test3 (10000 symbols): {0}", third);
- //fout.WriteLine();
- //Print(third, fout);
- //string fourth = RandomString(100000);
- //fout.WriteLine("Test4 (100000 symbols): {0}", fourth);
- //fout.WriteLine();
- //Print(fourth, fout);
- //string fifth = RandomString(1000000);
- //fout.WriteLine("Test5 (100000 symbols): {0}", fifth);
- //fout.WriteLine();
- //Print(fifth, fout);
- string first = "PDM>PT{X6:'[O<7BYWR}9[HYJN5[ /OS>CIBFMB,2>;B4>A1;7";
- fout.WriteLine("Test1 (50 symbols):");
- fout.WriteLine();
- Print(first, fout);
- StreamReader fin2 = new StreamReader(("c:/users/администратор/documents/visual studio 2012/Projects/контрольная/контрольная/input2.txt"));
- string second = fin2.ReadLine();
- fin2.Close();
- fout.WriteLine("Test2 (1000 symbols):");
- fout.WriteLine();
- Print(second, fout);
- StreamReader fin3 = new StreamReader(("c:/users/администратор/documents/visual studio 2012/Projects/контрольная/контрольная/input3.txt"));
- string third = fin3.ReadLine();
- fin3.Close();
- fout.WriteLine("Test3 (10000 symbols):");
- fout.WriteLine();
- Print(third, fout);
- StreamReader fin4 = new StreamReader(("c:/users/администратор/documents/visual studio 2012/Projects/контрольная/контрольная/input4.txt"));
- string fourth = fin4.ReadLine();
- fin4.Close();
- fout.WriteLine("Test4 (100000 symbols):");
- fout.WriteLine();
- Print(fourth, fout);
- StreamReader fin5 = new StreamReader(("c:/users/администратор/documents/visual studio 2012/Projects/контрольная/контрольная/input5.txt"));
- string fifth = fin5.ReadLine();
- fin5.Close();
- fout.WriteLine("Test5 (1000000 symbols):");
- fout.WriteLine();
- Print(fifth, fout);
- fout.Close();
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement