private static void MadeLists(Head head) { Point Pos = new Point(); Point PosBeg = new Point(); PosBeg = Pos; Point Neg = new Point(); Point NegBeg = new Point(); NegBeg = Neg; Head beg = new Head(); beg = head; while (beg != null) { if (beg.Info > 0) { PosBeg.Info = beg; PosBeg.Next = new Point(); PosBeg = PosBeg.Next; } if (beg.Info < 0) { NegBeg.Info = beg; NegBeg.Next = new Point(); NegBeg = NegBeg.Next; } beg = beg.Next; } ColorMess.Magenta("\n Положительный список: "); WriteList(Pos); ColorMess.Magenta("\n Отрицательный список: "); WriteList(Neg); }
static void EulerСycle(int[,] mas, ref int edges, int tops, int begin) { int ones = 0; for (int i = 0; i < edges; i++) { if (mas[begin, i] == 1) { ones++; } } for (int i = 0; i < edges; i++) { if ((mas[begin, i] == 1) && ((ones == 1) || (!IsBridge(mas, i, tops, edges)))) { ColorMess.Yellow(" " + begin); ColorMess.Magenta(" —>"); if (IsFirstOneInEdge(mas, tops, i, begin)) { begin = SecondOneInEdge(mas, tops, i); } else { begin = FirstOneInEdge(mas, tops, i); } mas = DeleteEdge(mas, i, ref edges, tops); EulerСycle(mas, ref edges, tops, begin); } } }
static void Main() { CreatePole(); Console.Clear(); ColorMess.Magenta("\nСчитаем..."); ColorMess.Cyan("\n\n Поле заразится через " + Zarajenie() + " секунд"); Message.GoToBack(); }
static void Main() { ColorMess.Magenta("\n Генерирую граф, создаю матрицу инциденций и ищу эйлеров цикл..."); int tops = 0; int edges = 0; int[,] mas = Generator(ref tops, ref edges); Console.Clear(); ColorMess.Magenta("\n Граф сгенерирован!\n"); ColorMess.Yellow("\n Матрица:\n"); WriteMas(mas, tops, edges); ColorMess.Magenta("\n Эйлеров цикл:\n"); EulerСycle(mas, ref edges, tops, 0); ColorMess.Yellow(" 0"); Message.GoToBack(); }
private static void PrintMas() { Console.Clear(); if (!sort) { ColorMess.Magenta("\n Рандомный массив выглядит так: \n\n"); for (int i = 0; i < rndMas.Length; ++i) { ColorMess.Cyan(" " + rndMas[i]); } ColorMess.Yellow("\n Колличество сравнений: " + rndSrv + ", Колличество перестановок: " + rndPer + "\n"); ColorMess.Magenta("\n Возрастающий массив выглядит так: \n\n"); for (int i = 0; i < vozMas.Length; ++i) { ColorMess.Cyan(" " + vozMas[i]); } ColorMess.Yellow("\n Колличество сравнений: " + vozSrv + ", Колличество перестановок: " + vozPer + "\n"); ColorMess.Magenta("\n Убывающий массив выглядит так: \n\n"); for (int i = 0; i < ubvMas.Length; ++i) { ColorMess.Cyan(" " + ubvMas[i]); } ColorMess.Yellow("\n Колличество сравнений: " + ubvSrv + ", Колличество перестановок: " + ubvPer + "\n"); } else { ColorMess.Magenta("\n Отсортированный рандомный массив выглядит так: \n\n"); for (int i = 0; i < rndMas.Length; ++i) { ColorMess.Cyan(" " + rndMas[i]); } ColorMess.Yellow("\n Колличество сравнений: " + rndSrv + ", Колличество перестановок: " + rndPer + "\n"); ColorMess.Magenta("\n Отсортированный возрастающий массив выглядит так: \n\n"); for (int i = 0; i < vozMas.Length; ++i) { ColorMess.Cyan(" " + vozMas[i]); } ColorMess.Yellow("\n Колличество сравнений: " + vozSrv + ", Колличество перестановок: " + vozPer + "\n"); ColorMess.Magenta("\n Отсортированный убывающий массив выглядит так: \n\n"); for (int i = 0; i < ubvMas.Length; ++i) { ColorMess.Cyan(" " + ubvMas[i]); } ColorMess.Yellow("\n Колличество сравнений: " + ubvSrv + ", Колличество перестановок: " + ubvPer + "\n"); } }
static void Main() { ColorMess.Yellow("\n Задайте первое число последовательности а1: "); a1 = Input.Check(double.MinValue, double.MaxValue); ColorMess.Yellow("\n Задайте второе число последовательности а2: "); a2 = Input.Check(double.MinValue, double.MaxValue); ColorMess.Yellow("\n Задайте третье число последовательности а3: "); a3 = Input.Check(double.MinValue, double.MaxValue); ColorMess.Yellow("\n Задайте колличество чисел в последовательности N (от 4 до 30): "); int N = Input.Check(4, 30); mas = new double[N]; ColorMess.Yellow("\n Ваша последовательность выглядит так: "); for (int i = N; i > 0; i--) { mas[i - 1] = FindChislo(i); } bool z = true; mas.Reverse(); for (int i = 1; i < N; i += 2) { try { if (mas[i] > mas[i + 2]) { z = false; } } catch (IndexOutOfRangeException) { } } for (int i = 0; i < N; i++) { ColorMess.Cyan(Convert.ToString(mas[i]) + " "); } if (z) { ColorMess.Magenta("\n\n Строго возрастающая последовательность (по элементам стоящим на четных местах).\n"); } else { ColorMess.Magenta("\n\n Последовательность (по элементам стоящим на четных местах) не является строго возрастающей.\n"); } Message.GoToBack(); }
private static void WriteList(Point list) { if (list.Info != null) { Point beg = new Point(); beg = list; while (beg.Next != null) { ColorMess.Yellow("" + beg.Info); if (beg.Next.Next != null) { ColorMess.Magenta(" -> "); } beg = beg.Next; } Console.WriteLine(); } else { ColorMess.Red("Список пустой"); } }