Поменять местами элементы правую и левую половины массива - 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.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д