Untitled
#include <stdio.h> void inputArray(int* array, int size) { for (int i = 0; i < size; ++i) { scanf("%d", &array[i]); } } void outputArray(int* array, int size) { for (int i = 0; i < size; ++i) { printf("%d ", array[i]); } printf("\n"); } void rotateLeft(int* array, int size, int c) { int realShift = c % size; if (realShift < 0) { realShift += size; // Превращаем отрицательный сдвиг в положительный эквивалент } int temp; for (int i = 0; i < realShift; ++i) { temp = array[0]; for (int j = 0; j < size - 1; ++j) { array[j] = array[j + 1]; } array[size - 1] = temp; } } int main() { int n, c; printf("Введите количество элементов массива: "); scanf("%d", &n); int array[n]; printf("Введите элементы массива: "); inputArray(array, n); printf("Введите величину сдвига: "); scanf("%d", &c); rotateLeft(array, n, c); printf("Массив после сдвига: "); outputArray(array, n); return 0; }
Leave a Comment