Вопрос задан 07.08.2018 в 21:42. Предмет Информатика. Спрашивает Гаврилов Сергей.

Определить симметричны ли элементы в массиве (одномерном) относительно центрального или центральных?

0 0
Перейти к ответам

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

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Абдулхалимова Катя.
//Pascal ABC.NET v3.1 сборка 1219

Const
  n=5;

 Var
 ar:array[1..n] of integer;
 i:integer;
 b:boolean;
begin
 b:=true;
 writeln('Array:');
 for i:=1 to n do readln(ar[i]);
 for i:=1 to n div 2 do
 if ar[i]<>ar[n-i+1] then b:=false;
 if b=true then writeln('Симметричны') else writeln('Не симметричны');
end.

Пример ввода:
1
2
3
2
1
Пример вывода:
Симметричны
0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Для определения симметричности элементов в одномерном массиве относительно центрального или центральных, необходимо сравнить значения элементов на одинаковом расстоянии от центра.

Предположим, у нас есть массив arr длины n. Если n - нечетное число, то центральный элемент будет arr[n/2], где / обозначает целочисленное деление. Если n - четное число, то у массива будет два центральных элемента, arr[n/2 - 1] и arr[n/2].

Для определения симметричности элементов, мы сравним значения элементов на одинаковом расстоянии от центра. Например, для массива длины 7, мы сравним arr[0] и arr[6], arr[1] и arr[5], arr[2] и arr[4]. Если все пары элементов равны, то массив симметричен относительно центра.

Пример кода на языке Python:

def is_symmetric(arr): n = len(arr) for i in range(n//2): if arr[i] != arr[n-i-1]: return False return True

arr = [1, 2, 3, 4, 3, 2, 1] print(is_symmetric(arr)) # Вывод: True

arr = [1, 2, 3, 4, 5, 6, 7] print(is_symmetric(arr)) # Вывод: False

В этом примере функция is_symmetric() принимает одномерный массив arr и возвращает True, если массив симметричен относительно центра, и False в противном случае. С помощью цикла проходим по половине массива (range(n//2)) и сравниваем элементы на одинаковом расстоянии от центра. Если хотя бы одна пара элементов не равна, то массив несимметричен и возвращается False. Если все пары элементов равны, то массив симметричен и возвращается True.

Надеюсь, это помогло! Если у вас есть еще вопросы, пожалуйста, дайте мне знать!

0 0

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

Последние заданные вопросы в категории Информатика

Задать вопрос