Вопрос задан 27.03.2021 в 01:19. Предмет Информатика. Спрашивает Гафаров Александр.

Напишите программу, которая переставляет элементы массива в обратном порядке без использования

дополнительного массива. Программа должна считать массив, поменять порядок его элементов, затем вывести результат (просто вывести элементы массива в обратном порядке – недостаточно!)
0 0
Перейти к ответам

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

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Жарылгасын Канат.
Подумайте чуть, ведь все просто. Есть массив, у него гдето есть середина, или точка симметрии. Она находится как (n div 2). Если массив четной длины, то он делится на 2 равные части, если нечетный - в середине остается один элемент, который ни с кем менять не надо.
Сейчас смотрим элементы первой половины
for i:=1 to n div 2
запоминаем их x:=a[i];
присваиваем им значения симметричных им элементов с конца
a[i]:=a[n-i+1]; например при n=10 a[1]:=a[10-1+1];
А элементам в конце присваиваем значения запомненных первых элементов
a[n-i+1]:=x;
Все, поменяли.
0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Вот пример программы на языке Python, которая переставляет элементы массива в обратном порядке без использования дополнительного массива:

python
# Вводим массив с клавиатуры arr = list(map(int, input().split())) # Изменяем порядок элементов в массиве n = len(arr) for i in range(n // 2): arr[i], arr[n-i-1] = arr[n-i-1], arr[i] # Выводим измененный массив на экран for elem in arr: print(elem, end=' ')

Пример работы программы:

makefile
Ввод: 1 2 3 4 5 Вывод: 5 4 3 2 1

Первая строка кода считывает массив с помощью функции input(), затем map() применяется к каждому элементу массива для преобразования его в целое число. Функция list() создает список из результата применения map().

Далее происходит изменение порядка элементов в массиве. Мы проходим по массиву, меняя местами первый и последний элементы, второй и предпоследний, и т.д. Для этого используется цикл for, который проходит по первой половине массива (поэтому в диапазоне используется операция целочисленного деления //).

Наконец, мы выводим измененный массив на экран с помощью цикла for, который проходит по всем элементам массива и печатает их через пробел. Здесь используется параметр end=' ', чтобы элементы выводились через пробел, а не каждый на новой строке.

0 0

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

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

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