Поменять местами элементы правую и левую половины массива - C (СИ)
Формулировка задачи:
Решение задачи: «Поменять местами элементы правую и левую половины массива»
#include <stdio.h> #include <stdlib.h> #include <time.h> void swap(int array[], int size) { for ( int i = 0, j = size - 1; i < j; i++, j-- ) { int temp; temp = array[i]; array[i] = array[j]; array[j] = temp; } } int main() { int size; scanf("%d", &size); size -= size % 2; if ( size > 0 ) { int array[size]; int last = size - 1; srand(time(NULL)); for ( int i = 0; i < size; i++ ) { array[i] = rand() % 100; printf("%d ", array[i]); } printf("\n"); swap(array, size); for ( int i = 0; i < last; i++ ) { printf("%d ", array[i]); } printf("%d\n", array[last]); } return 0; }
Объяснение кода листинга программы
В данном коде реализована функция swap(), которая меняет местами элементы правой и левой половин массива. Код начинается с объявления функции swap(), которая принимает два аргумента: массив целых чисел array и его размер size. Далее в функции main() считывается размер массива с помощью функции scanf(). Затем выполняется проверка на нечетное количество элементов в массиве, если размер массива делится на 2 без остатка, то размер уменьшается на 1, чтобы получить четное количество элементов. Далее создается массив целых чисел array, инициализируется случайными числами от 0 до 99 с помощью функции rand(). Затем выводится на экран исходный массив с помощью цикла for и функции printf(). Далее вызывается функция swap(), которая меняет местами элементы правой и левой половин массива. Затем выводится на экран измененный массив с помощью цикла for и функции printf(). Код заканчивается возвратом функции main() равным 0.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д