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

Ответы на вопрос

Отвечает Третьякович Ксюша.
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]);
}
}
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]);
}
}



Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.
Вот пример кода на языке C#, который решает данную задачу:
csharpusing System;
class Program
{
static void Main()
{
Console.Write("Введите размер массива: ");
int n = int.Parse(Console.ReadLine());
int[] arr = new int[n];
Console.WriteLine("Введите элементы массива:");
for (int i = 0; i < n; i++)
{
arr[i] = int.Parse(Console.ReadLine());
}
int diff = arr[1] - arr[0];
bool isArithmeticProgression = true;
for (int i = 2; i < n; i++)
{
if (arr[i] - arr[i - 1] != diff)
{
isArithmeticProgression = false;
break;
}
}
if (isArithmeticProgression)
{
Console.WriteLine("Разность прогрессии: " + diff);
}
else
{
Console.WriteLine("0");
}
}
}
Программа сначала запрашивает размер массива n
с клавиатуры. Затем она запрашивает элементы массива, один за другим, также с клавиатуры. Затем программа проверяет, образуют ли элементы массива арифметическую прогрессию, путем вычисления разности между соседними элементами и сравнения ее со всеми остальными разностями в массиве. Если все разности равны, программа выводит разность прогрессии, иначе выводит 0.


Топ вопросов за вчера в категории Информатика

Информатика 566

Информатика 25

Информатика 22

Информатика 27

Информатика 34

Информатика 58

Информатика 63

Информатика 23
Последние заданные вопросы в категории Информатика
Предметы
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili