Дан целочисленный массив размера n (вводится с клавиатуры), не содержащий одинаковых...

0 голосов
64 просмотров

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


Информатика (4.0k баллов) | 64 просмотров
Дан 1 ответ
0 голосов

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]);
  }
}

(6.9k баллов)