static void Main(string[] args) { Random rnd = new Random(); GeometricProgression g_p = new GeometricProgression(rnd.NextDouble() * 10, 5 - 5 * rnd.NextDouble()); Console.WriteLine(g_p.GetInfo()); int n = int.Parse(Console.ReadLine()); GeometricProgression[] progressions = new GeometricProgression[n]; for (int i = 0; i < n; ++i) { progressions[i] = new GeometricProgression(rnd.NextDouble() * 10, 5 - 5 * rnd.NextDouble()); Console.WriteLine(progressions[i].GetInfo()); } int step = rnd.Next(3, 16); Console.WriteLine($"{step}-ый элемент последовательности больше, чем в последовательности ({g_p.GetInfo()}):"); for (int i = 0; i < n; ++i) { if (progressions[i][step] > g_p[step]) { Console.WriteLine(progressions[i].GetInfo()); } } }
static void Main(string[] args) { do { Random rand = new Random(); // Создаём отдельную последовательность. GeometricProgression FirstProgression = new GeometricProgression(rand.NextDouble() * 10, rand.NextDouble() * 5); WriteLine("Отдельная посл-ть:\n" + FirstProgression.GetInfo()); // Создаём массив прогрессий. GeometricProgression[] Progs = new GeometricProgression[rand.Next(5, 16)]; for (int i = 0; i < Progs.Length; ++i) { Progs[i] = new GeometricProgression(rand.NextDouble() * 10, rand.NextDouble() * 5); WriteLine("Посл-ть №" + (int)(i + 1) + " :\n" + Progs[i].GetInfo()); } WriteLine(); int step = rand.Next(3, 16); for (int i = 0; i < Progs.Length; ++i) { if (Progs[i][step] > FirstProgression[step]) { WriteLine("У посл-ти №" + (int)(i + 1) + " значение эл-та " + step + " больше, чем у отдельной. :\n" + Progs[i].GetInfo()); } WriteLine("У посл-ти №" + (int)(i + 1) + " сумма первых " + step + " эл-тов равна " + Progs[i].GetSum(step)); } WriteLine("Чтобы завершить выполнение программы, введите пустую строку."); WriteLine("Введите что угодно, чтобы перезапустить процесс."); }while (ReadLine() != ""); }
static void Main(string[] args) { do { Console.Clear(); int N; Random rand = new Random(); N = rand.Next(5, 16); GeometricProgression[] geometricProgressions = new GeometricProgression[N]; GeometricProgression geometricProgression; do { geometricProgression = new GeometricProgression(rand.Next(0, 11), rand.Next(0, 6)); } while (geometricProgression.Increment == 0); Console.WriteLine("Главная геометрическая прогрессия geometricProgression: " + geometricProgression.GetInfo()); Console.WriteLine("Созданные геометрические прогрессии:"); for (int i = 0; i < N; i++) { do { geometricProgressions[i] = new GeometricProgression(rand.Next(0, 11), rand.Next(0, 6)); } while (geometricProgressions[i].Increment == 0); Console.WriteLine((i + 1) + ". " + geometricProgressions[i].GetInfo()); } int step = rand.Next(3, 16); Console.WriteLine("step = " + step); Console.WriteLine($"Прогрессии, у которых элемент с номером {step} больше соответствующего элемента главной прогрессии:"); for (int i = 0; i < N; i++) { if (geometricProgressions[i][step] > geometricProgression[step]) { Console.WriteLine((i + 1) + ". " + geometricProgressions[i].GetInfo() + $", Sum({step}) = {geometricProgressions[i].GetSum(step)}"); } } Console.WriteLine(); Console.WriteLine("Для выхода из программы нажмите Escape, для продолжения - любую другую клавишу..."); } while (Console.ReadKey().Key != ConsoleKey.Escape); }