Зеркально поменять местами две части одномерного массива, относительно его середины - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Реализовать программу на С: Зеркально поменять местами две части одномерного массива, относительно его середины

Решение задачи: «Зеркально поменять местами две части одномерного массива, относительно его середины»

textual
Листинг программы
#include <stdio.h>
 
void arr_mirror(long* arr, size_t siz) {
    size_t i, j;
    for (i = 0, j = siz - 1; i < j; i++, j--) {
        long t = arr[i];
        arr[i] = arr[j];
        arr[j] = t;
    }
}
 
void arr_print(long* arr, size_t siz) {
    while (siz-- != 0) {
        printf("%ld ", *arr++);
    }
    putchar('\n');
}
 
int main(void) {
    long arr[] = { 123, 3, 33, 55, 2342, 9, 320 };
    arr_mirror(arr, sizeof(arr) / sizeof(arr[0]));
    arr_print(arr, sizeof(arr) / sizeof(arr[0]));
    return 0;
}

Объяснение кода листинга программы

В данном коде:

  1. arr_mirror - функция, которая меняет местами две части одномерного массива, относительно его середины.
    • i и j - индексы, которые используются для перебора массива.
    • t - временная переменная, используемая для хранения значения элемента массива.
  2. arr_print - функция, которая выводит элементы массива на экран.
  3. main - функция, которая является точкой входа в программу.
    • arr - массив, который содержит числа для работы.
    • sizeof(arr) / sizeof(arr[0]) - вычисляет размер массива.
    • arr_mirror(arr, sizeof(arr) / sizeof(arr[0])) - вызывает функцию для зеркального изменения массива.
    • arr_print(arr, sizeof(arr) / sizeof(arr[0])) - вызывает функцию для вывода массива на экран.
    • return 0; - завершает работу программы.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

15   голосов , оценка 3.667 из 5
Похожие ответы