Определить, является ли введенная последовательность геометрической прогрессией - C#
Формулировка задачи:
С клавиатуры вводится последовательность целых чисел, признаком конца ввода является 0, определить является введенная последовательность геометрической прогрессией.
Подскажите пожалуйста, работает без массива, но при вводе двух чисел последовательности проверка не проходит так как выходит из цикла, даже если проверку сделать, то как ни крути b присваивается c(Это необходимо чтобы продолжить проверку чисел последовательности если их больше трех).
Листинг программы
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- namespace _test
- {
- class Program
- {
- static void Main(string[] args)
- {
- double a, b, c = 1, d;
- bool progress = true;
- System.Console.Write("Введите последовательность чисел через строку:\n");
- a = Convert.ToDouble(Console.ReadLine());
- b = Convert.ToDouble(Console.ReadLine());
- d = a / b;
- System.Console.WriteLine( d);
- while (c != 0)
- {
- c = Convert.ToDouble(Console.ReadLine());
- if (c != 0)
- {
- if (b / c != d)
- progress = true;
- else
- progress = false;
- }
- b=c;
- }
- if (!progress)
- System.Console.WriteLine("Последовательность является геометрической прогрессией");
- else
- System.Console.WriteLine("Последовательность НЕ является геометрической прогрессией");
- while (Console.ReadKey().Key != ConsoleKey.Escape) ;
- }
- }
- }
Решение задачи: «Определить, является ли введенная последовательность геометрической прогрессией»
textual
Листинг программы
- static void Main(string[] args)
- {
- double a, b, c, d;
- bool progress = true;
- System.Console.Write("Введите последовательность чисел через строку:\n");
- a = Convert.ToDouble(Console.ReadLine());
- b = Convert.ToDouble(Console.ReadLine());
- d = a / b;
- c = Convert.ToDouble(Console.ReadLine());
- while (c != 0)
- {
- progress &= (b / c == d);
- b = c;
- c = Convert.ToDouble(Console.ReadLine());
- }
- if (progress)
- System.Console.WriteLine("Последовательность является геометрической прогрессией c шагом {0}", 1/d);
- else
- System.Console.WriteLine("Последовательность НЕ является геометрической прогрессией");
- while (Console.ReadKey().Key != ConsoleKey.Escape) ;
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д