Поменять местами элементы правую и левую половины массива - C (СИ)

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

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

1. Заполните случайным образом одномерный массив из n элементов (n-четное) и поменяйте местами элементы правой и левой половины массива. Пример (для n = 8). Использовать указатели.

Решение задачи: «Поменять местами элементы правую и левую половины массива»

textual
Листинг программы
#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.

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


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

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

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