Задача такова. Дается массив из n чисел. Требуется перевернуть его и вывести все числа в обратном порядке.
int n;
int arr[100];cin >> n;
for (int i = 0; i < n; i++)
cin >> a[i];for (int i = 0; i < n / 2; i++)
swap(a[i], a[n — i — 1]);for (int i = 0; i < n; i++)
cout << a[i] << ‘ ‘;
Прежде чем разбирать код, нужно разобраться с функцией swap(a, b); Функцияswap(a, b) меняет между собой значения переменных a и b. Например изначально a и b были равны 5 и 10 соответственно. Тогда после swap(a, b) a будет равно 10, а b равно 5.
Еще стоит отметить, что n / 2 — это целочисленное деление. При целочисленном делении дробная часть отбрасывается. То есть 5 / 2 = 2.
Итак, во втором цикле мы начинаем менять элементы в массиве. Сначала меняем 0 c n — 1, потом 1 с n — 2 и т.д. Так мы делаем n / 2 раз. Если сделать такую операцию не n / 2, а n раз, тогда массив просто перевернется еще раз и придет в исходное положение.
Пример.
n = 6.
Массив: 4 3 9 8 1 0
Шаг 1 — 0 3 9 8 1 4
Шаг 2 — 0 1 9 8 3 4
Шаг 3 — 0 1 8 9 3 4
Итак, получили перевернутый массив.
что то не работает код в вашей статьи у меня
можене написать весь скилет программы пожалуйсто