Как сделать реверс массива по 2 элемента?

Чтобы реверсировать массив по 2 элемента, следует использовать цикл и временную переменную для обмена элементов.

Вот код на языке C, который реализует данную логику:

#include <stdio.h>

void reverseArrayByTwo(int arr[], int size) {
    // Проверяем, что размер массива кратен 2
    if(size % 2 != 0) {
        printf("Размер массива должен быть кратен 2.");
        return;
    }

    // Итерируемся по парам элементов
    for(int i = 0; i < size; i += 2) {
        // Обмениваем элементы с индексами i и i+1
        int temp = arr[i];
        arr[i] = arr[i+1];
        arr[i+1] = temp;
    }
}

int main() {
    int arr[] = {1, 2, 3, 4, 5, 6};
    int size = sizeof(arr) / sizeof(arr[0]);

    printf("Исходный массив: ");
    for(int i = 0; i < size; i++) {
        printf("%d ", arr[i]);
    }
    printf("n");

    reverseArrayByTwo(arr, size);

    printf("Реверсированный массив: ");
    for(int i = 0; i < size; i++) {
        printf("%d ", arr[i]);
    }
    printf("n");

    return 0;
}

Как видно из примера, функция reverseArrayByTwo принимает массив arr и его размер size. Она проверяет, что размер массива кратен 2, чтобы можно было выполнять обмен элементами парами. Затем она итерируется по парам элементов массива и обменивает их местами с помощью временной переменной temp.

В функции main мы создаем исходный массив, выводим его на экран, вызываем функцию reverseArrayByTwo и выводим реверсированный массив после выполнения функции.