Array Reverse C - искусство переворачивания массивов в C
В языке программирования C для разворота элементов массива существует несколько способов. Рассмотрим два из них.
### Первый способ: использование дополнительного массива
Самым простым способом развернуть массив в языке C является создание второго массива, в котором будут храниться элементы в обратном порядке. Для этого мы можем использовать цикл, который будет перебирать элементы исходного массива в обратном порядке и копировать их в новый массив. Пример кода для данного способа:
c
#include
#define SIZE 5
void reverseArray(int arr[], int size) {
int reversedArr[size];
for (int i = 0; i < size; i++) {
reversedArr[i] = arr[size - 1 - i];
}
printf("Reversed array: ");
for (int i = 0; i < size; i++) {
printf("%d ", reversedArr[i]);
}
}
int main() {
int arr[SIZE] = {1, 2, 3, 4, 5};
reverseArray(arr, SIZE);
return 0;
}
В этом примере мы создаем функцию `reverseArray`, которая принимает в качестве аргументов исходный массив `arr` и его размер `size`. Внутри функции мы создаем новый массив `reversedArr` того же размера `size`. Затем с помощью цикла `for` мы перебираем элементы исходного массива `arr` в обратном порядке и копируем их в новый массив `reversedArr`. В конце функции, с помощью еще одного цикла `for`, мы выводим развернутый массив на экран.
### Второй способ: изменение исходного массива "на месте"
Второй способ не требует использования дополнительного массива и осуществляется путем обмена элементов исходного массива с его симметричными элементами относительно центра массива. Пример кода для данного способа:
c
#include
#define SIZE 5
void reverseArray(int arr[], int size) {
for (int i = 0; i < size / 2; i++) {
int temp = arr[i];
arr[i] = arr[size - 1 - i];
arr[size - 1 - i] = temp;
}
printf("Reversed array: ");
for (int i = 0; i < size; i++) {
printf("%d ", arr[i]);
}
}
int main() {
int arr[SIZE] = {1, 2, 3, 4, 5};
reverseArray(arr, SIZE);
return 0;
}
В этом примере также создается функция `reverseArray`, которая принимает исходный массив `arr` и его размер `size`. Внутри функции мы используем цикл `for`, чтобы перебрать половину элементов исходного массива. В каждой итерации мы обмениваем текущий элемент `arr[i]` с симметричным элементом `arr[size - 1 - i]` относительно центра массива, используя временную переменную `temp`. В конце функции мы выводим развернутый массив на экран.