]> git.deb.at Git - debienna.git/blobdiff - Archive/Kata4Lösungen/CSharp/index.mdwn
refactor some old sites
[debienna.git] / Archive / Kata4Lösungen / CSharp / index.mdwn
diff --git a/Archive/Kata4Lösungen/CSharp/index.mdwn b/Archive/Kata4Lösungen/CSharp/index.mdwn
new file mode 100644 (file)
index 0000000..21d90a4
--- /dev/null
@@ -0,0 +1,139 @@
+
+
+# Part 1
+
+
+[[!format txt """
+using System;
+using System.IO;
+using System.Text.RegularExpressions;
+
+namespace Kata4
+{
+        class Kata4
+        {
+                public static void Main(string[] argv)
+                {
+                        FileStream fs = new FileStream("K4Weather.txt", FileMode.Open, FileAccess.Read);
+                        StreamReader r = new StreamReader(fs);
+                        int min_spread = Int32.MaxValue;
+                        int spread_day = -1;
+                        while(r.Peek() > -1)
+                        {
+                                string s = r.ReadLine();
+                                Match fields = Regex.Match(s, "^ +([0-9]+) +([0-9]+)[^ ]* *([0-9]+).*");
+                                try {
+                                        int day = Convert.ToInt32(fields.Groups[1].ToString());
+                                        int min = Convert.ToInt32(fields.Groups[3].ToString());
+                                        int max = Convert.ToInt32(fields.Groups[2].ToString());
+                                        int spread = max - min;
+                                        if (spread <= min_spread)
+                                        {
+                                                spread_day = day;
+                                                min_spread = spread;
+                                        }
+                                } catch {
+                                }
+                        }
+                        Console.WriteLine(spread_day);
+                }
+        }
+}
+
+
+"""]]
+
+# Part 2
+
+
+[[!format txt """
+using System;
+using System.IO;
+using System.Text.RegularExpressions;
+
+namespace Kata4
+{
+        class Kata4_2
+        {
+                public static void Main(string[] argv)
+                {
+                        FileStream fs = new FileStream("K4Soccer.txt", FileMode.Open, FileAccess.Read);
+                        StreamReader r = new StreamReader(fs);
+                        int min_spread = Int32.MaxValue;
+                        string spread_day = "";
+                        while(r.Peek() > -1)
+                        {
+                                string s = r.ReadLine();
+                                Match fields = Regex.Match(s, "^ +[0-9]+\\. ([A-Za-z_]+) +[0-9]+ +[0-9]+ +[0-9]+ +[0-9]+ +([0-9]+) +- +([0-9]+).*");
+                                try {
+                                        string day = fields.Groups[1].ToString();
+                                        Console.Write("Testing");
+                                        Console.WriteLine(day);
+                                        int min = Convert.ToInt32(fields.Groups[2].ToString());
+                                        int max = Convert.ToInt32(fields.Groups[3].ToString());
+                                        int spread = Math.Abs( max - min );
+                                        if (spread <= min_spread)
+                                        {
+                                                spread_day = day;
+                                                min_spread = spread;
+                                        }
+                                } catch {
+                                }
+                        }
+                        Console.WriteLine(spread_day);
+                }
+        }
+}
+"""]]
+
+# Part 3
+
+
+[[!format txt """
+using System;
+using System.IO;
+using System.Text.RegularExpressions;
+
+namespace Kata4
+{
+        class Kata4_2
+        {
+                public static void Main(string[] args)
+                {
+                        Console.Write("part1: ");
+                        DM("K4Weather.txt", "^ +([0-9]+) +([0-9]+)[^ ]* *([0-9]+).*");
+                        Console.Write("part2: ");
+                        DM("K4Soccer.txt", "^ +[0-9]+\\. ([A-Za-z_]+) +[0-9]+ +[0-9]+ +[0-9]+ +[0-9]+ +([0-9]+) +- +([0-9]+).*");
+                }
+
+                public static void DM(string file, string pattern)
+                {
+                        FileStream fs = new FileStream(file, FileMode.Open, FileAccess.Read);
+                        StreamReader r = new StreamReader(fs);
+                        int min_spread = Int32.MaxValue;
+                        string spread_day = "";
+                        while(r.Peek() > -1)
+                        {
+                                string s = r.ReadLine();
+                                Match fields = Regex.Match(s, pattern);
+                                try {
+                                        string day = fields.Groups[1].ToString();
+                                        int min = Convert.ToInt32(fields.Groups[2].ToString());
+                                        int max = Convert.ToInt32(fields.Groups[3].ToString());
+                                        int spread = Math.Abs( max - min );
+                                        if (spread <= min_spread)
+                                        {
+                                                spread_day = day;
+                                                min_spread = spread;
+                                        }
+                                } catch {
+                                }
+                        }
+                        Console.WriteLine(spread_day);
+                }
+        }
+}
+"""]]
+
+
+ [[!tag CategoryCodeSnippets]]