Дан целочисленный массив размера n (вводится с клавиатуры), не содержащий одинаковых чисел. проверить, образуют ли его элементы арифметическую прогрессию. если образуют, то вывести разность прогрессии, если нет вывести 0 на языке c#

olyabat olyabat    2   09.09.2019 20:40    4

Ответы
969696ааа 969696ааа  10.08.2020 17:01
Using System;
public class Test{
  public static void Main(){
    Console.Write("Количество элементов в массиве: ");
    int max = Convert.ToInt32(Console.ReadLine(), 10);
    int[] a = new int[max];
    int buff;
    for(int i = 0; i < max; ++i){
      bool flag = false;
      do{
        Console.Write("a[{0}] = ", i);
        buff = Convert.ToInt32(Console.ReadLine(), 10);
        for(int j = 0; j < i; ++j)
          if(a[j] == buff){
            flag = true;
            break;
          }
        if(flag)
          Console.WriteLine("Такой элемент уже встречался! Повторите ввод!");
        else
          a[i] = buff;
      } while(flag);
    }
    Console.Clear();
    Console.WriteLine("Исходный массив:");
    for(int i = 0; i < max; ++i)
      Console.Write("{0} ", a[i]);
    Console.WriteLine();Console.WriteLine();
    bool k = false;
    for(int i = 2; i < max; ++i)
    if((a[i] - a[i-1]) != (a[i-1] - a[i-2])){
      k = true;
      break;
    }
    if(k) Console.WriteLine("Это НЕ арифметическая прогрессия");
    else Console.WriteLine("Это арифметическая прогрессия c разностью {0}", a[1]-a[0]);
  }
}
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика