Advertisement
myname0

контрольная

Dec 9th, 2015
95
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 6.03 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. using System.Diagnostics;
  8. using System.Threading;
  9. using System.IO;
  10.  
  11. namespace контрольная
  12. {
  13.     class Program
  14.     {
  15.         static long SumStringBuilder(StringBuilder text)
  16.         {
  17.             long Sum = 0;
  18.             StringBuilder Number = new StringBuilder("0");
  19.             for (int i = 0; i < text.Length; i++)
  20.             {
  21.                 while((i < text.Length)&&(char.IsDigit(text[i])) )
  22.                 {
  23.                     Number.Append(text[i]);
  24.                     i++;
  25.                 }
  26.                 Sum += long.Parse(Number.ToString());
  27.                 Number.Remove(1,Number.Length-1);
  28.             }
  29.             return Sum;
  30.         }
  31.  
  32.         static long SumRegular(string text)
  33.         {
  34.             Regex r = new Regex(@"\d+");
  35.             Match number = r.Match(text);
  36.             long Sum = 0;
  37.             while (number.Success)
  38.             {
  39.                 Sum += long.Parse(number.ToString());
  40.                 number = number.NextMatch();
  41.             }
  42.             return Sum;
  43.         }
  44.  
  45.         static long SumString(string text)
  46.         {
  47.             long Sum = 0;
  48.             string Number = ("0");
  49.             for (int i = 0; i < text.Length; i++)
  50.             {
  51.                 while ((i < text.Length) && (char.IsDigit(text[i])))
  52.                 {
  53.                     Number += text[i];
  54.                     i++;
  55.                 }
  56.                 Sum += long.Parse(Number);
  57.                 Number = Number.Remove(1, Number.Length-1);
  58.             }
  59.             return Sum;
  60.         }
  61.  
  62.         //static string RandomString(int length)
  63.         //{
  64.         //    const string chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 ;.,/'!?<>{}[]:+-_=";
  65.         //    var random = new Random();
  66.         //    return new string(Enumerable.Repeat(chars, length)
  67.         //      .Select(s => s[random.Next(s.Length)]).ToArray());
  68.         //}
  69.  
  70.         static void Print(string temp2, StreamWriter fout)
  71.         {
  72.             StringBuilder temp1 = new StringBuilder(temp2);
  73.  
  74.             Stopwatch time1 = new Stopwatch();
  75.             time1.Start();
  76.             fout.WriteLine("SumStringBuilder: {0}", SumStringBuilder(temp1));
  77.             time1.Stop();
  78.             long milliSec1 = time1.ElapsedMilliseconds;
  79.             fout.WriteLine("Time spand for StringBuilder: {0}", milliSec1);
  80.  
  81.             Stopwatch time2 = new Stopwatch();
  82.             time2.Start();
  83.             fout.WriteLine("SumRegular: {0}", SumRegular(temp2));
  84.             time2.Stop();
  85.             long milliSec2 = time2.ElapsedMilliseconds;
  86.             fout.WriteLine("Time spand for RegularExpression: {0}", milliSec2);
  87.  
  88.             Stopwatch time3 = new Stopwatch();
  89.             time3.Start();
  90.             fout.WriteLine("SumString: {0}", SumString(temp2));
  91.             time3.Stop();
  92.             long milliSec3 = time3.ElapsedMilliseconds;
  93.             fout.WriteLine("Time spand for String: {0}", milliSec3);
  94.  
  95.             fout.WriteLine();
  96.         }
  97.  
  98.         static void Main(string[] args)
  99.         {
  100.             StreamWriter fout = new StreamWriter("c:/users/администратор/documents/visual studio 2012/Projects/контрольная/контрольная/output.txt",true);
  101.            
  102.             //string first = RandomString(50);
  103.             //fout.WriteLine("Test1 (50 symbols): {0}", first);
  104.             //fout.WriteLine();
  105.             //Print(first, fout);
  106.  
  107.             //string second = RandomString(1000);
  108.             //fout.WriteLine("Test2 (1000 symbols): {0}", second);
  109.             //fout.WriteLine();
  110.             //Print(second, fout);
  111.  
  112.             //string third = RandomString(10000);
  113.             //fout.WriteLine("Test3 (10000 symbols): {0}", third);
  114.             //fout.WriteLine();
  115.             //Print(third, fout);
  116.  
  117.             //string fourth = RandomString(100000);
  118.             //fout.WriteLine("Test4 (100000 symbols): {0}", fourth);
  119.             //fout.WriteLine();
  120.             //Print(fourth, fout);
  121.  
  122.             //string fifth = RandomString(1000000);
  123.             //fout.WriteLine("Test5 (100000 symbols): {0}", fifth);
  124.             //fout.WriteLine();
  125.             //Print(fifth, fout);  
  126.  
  127.             string first = "PDM>PT{X6:'[O<7BYWR}9[HYJN5[ /OS>CIBFMB,2>;B4>A1;7";
  128.             fout.WriteLine("Test1 (50 symbols):");
  129.             fout.WriteLine();
  130.             Print(first, fout);
  131.  
  132.             StreamReader fin2 = new StreamReader(("c:/users/администратор/documents/visual studio 2012/Projects/контрольная/контрольная/input2.txt"));
  133.             string second = fin2.ReadLine();
  134.             fin2.Close();
  135.             fout.WriteLine("Test2 (1000 symbols):");
  136.             fout.WriteLine();
  137.             Print(second, fout);
  138.  
  139.             StreamReader fin3 = new StreamReader(("c:/users/администратор/documents/visual studio 2012/Projects/контрольная/контрольная/input3.txt"));
  140.             string third = fin3.ReadLine();
  141.             fin3.Close();
  142.             fout.WriteLine("Test3 (10000 symbols):");
  143.             fout.WriteLine();
  144.             Print(third, fout);
  145.  
  146.             StreamReader fin4 = new StreamReader(("c:/users/администратор/documents/visual studio 2012/Projects/контрольная/контрольная/input4.txt"));
  147.             string fourth = fin4.ReadLine();
  148.             fin4.Close();
  149.             fout.WriteLine("Test4 (100000 symbols):");
  150.             fout.WriteLine();
  151.             Print(fourth, fout);
  152.  
  153.             StreamReader fin5 = new StreamReader(("c:/users/администратор/documents/visual studio 2012/Projects/контрольная/контрольная/input5.txt"));
  154.             string fifth = fin5.ReadLine();
  155.             fin5.Close();
  156.             fout.WriteLine("Test5 (1000000 symbols):");
  157.             fout.WriteLine();
  158.             Print(fifth, fout);
  159.  
  160.  
  161.             fout.Close();
  162.         }
  163.     }
  164. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement