kk
Default banner
Разное
426 450 постов45 подписчиков
Всяко-разно
-1

Дан целочисленный массив размера N, не содержащий одинаковых чисел. Проверить, образуют ли его элементы арифметическую,геометрическую прогрессию. Если образуют, то вывести знаменатель прогрессии, если нет — вывести 0.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApplication1
{
class Class1
{
static void Main(string[] args)
{
int n,i;
Console.Write("Массив какого размера вы хотите задать? N = ");
n = int.Parse(Console.ReadLine());
int[] a = new int[n];
Console.WriteLine(" Введите {0} элементов массива",n);
for (i = 0; i < n; i++)
{
Console.Write("a[{0}]=",i);
a[i] = int.Parse(Console.ReadLine());
}
int d;
d = a[1] - a[0];
i = 1;
while (a[i] - a[i - 1] == d)
{
i++;
if (i == n) break;
}
Console.WriteLine(" Результат: ");
if (i == n) Console.WriteLine("  Этот массив - арифметическая прогрессия с разницей d = {0}", d);
else Console.WriteLine(" Это не арифметическая прогрессия: 0");
float q;
q = (float)a[1] / (float)a[0];
i = 1;
while (a[i] / a[i-1] == q)
{
i++;
if (i == n) break;
}
Console.WriteLine(" Результат: ");
if (i == n) Console.WriteLine("  Этот массив - геометрическая прогрессия с знаменателем q = {0}", q);
else Console.WriteLine(" Это не геометрическая прогрессия: 0");
Console.ReadLine();
}
}
}