Untitled

 avatar
unknown
plain_text
a year ago
1.2 kB
2
Indexable
#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