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


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

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
Пример вывода:
Симметричны



Для определения симметричности элементов в одномерном массиве относительно центрального или центральных, необходимо сравнить значения элементов на одинаковом расстоянии от центра.
Предположим, у нас есть массив 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.
Надеюсь, это помогло! Если у вас есть еще вопросы, пожалуйста, дайте мне знать!


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








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