Дан целочисленный массив размера n (вводится с клавиатуры), не содержащий одинаковых чисел. Проверить, образуют ли его элементы арифметическую прогрессию. Если образуют, то вывести разность прогрессии, если нет вывести 0 На языке C#
Answers & Comments
MaxLevs
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]); } }
Answers & Comments
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]);
}
}