Зеркально поменять местами две части одномерного массива, относительно его середины - 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;
}
Объяснение кода листинга программы
В данном коде:
- arr_mirror - функция, которая меняет местами две части одномерного массива, относительно его середины.
- i и j - индексы, которые используются для перебора массива.
- t - временная переменная, используемая для хранения значения элемента массива.
- arr_print - функция, которая выводит элементы массива на экран.
- 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; - завершает работу программы.