/// <summary> /// Возвращает с start до end строчки треугольника /// </summary> /// <param name="start">начало</param> /// <param name="end">конец</param> /// <returns>строчки</returns> public IEnumerable <string> GetNM(int start, int end) { int q = 1; FloydTriangle t = new FloydTriangle(end); foreach (var i in t) { if (q++ < start) { continue; } yield return(i); } }
static void Main(string[] args) { do { Console.Write("Введите k: "); int k; while (!int.TryParse(Console.ReadLine(), out k) && k < MaxSize) { Console.WriteLine("Неверный формат ввода!"); } FloydTriangle triangle = new FloydTriangle(k); foreach (var i in triangle) { Console.WriteLine(i); } int start; Console.Write("Введите start: "); while (!int.TryParse(Console.ReadLine(), out start) && k < MaxSize) { Console.WriteLine("Неверный формат ввода!"); } int end; Console.Write("Введите end: "); while (!int.TryParse(Console.ReadLine(), out end) && k < MaxSize) { Console.WriteLine("Неверный формат ввода!"); } foreach (var i in triangle.GetNM(start, end)) { Console.WriteLine(i); } Console.WriteLine("ESC to quit"); } while (Console.ReadKey(true).Key != ConsoleKey.Escape); }