+++ /dev/null
-
-
-# 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]]