Untitled
unknown
plain_text
a year ago
1.5 kB
1
Indexable
#include <stdio.h> void shiftArray(int* arr, int n, int c) { // Функция для выполнения одного шага сдвига влево void shiftLeftOnce(int* arr, int n) { int temp = arr[0]; for (int i = 0; i < n - 1; i++) { arr[i] = arr[i + 1]; } arr[n - 1] = temp; } // Функция для выполнения одного шага сдвига вправо void shiftRightOnce(int* arr, int n) { int temp = arr[n - 1]; for (int i = n - 1; i > 0; i--) { arr[i] = arr[i - 1]; } arr[0] = temp; } // Выполнение сдвига в зависимости от знака числа c if (c > 0) { for (int i = 0; i < c; i++) { shiftLeftOnce(arr, n); } } else { for (int i = 0; i < (-c); i++) { shiftRightOnce(arr, n); } } } int main() { int n, c; printf("Введите количество элементов массива: "); scanf("%d", &n); int A[n]; printf("Введите элементы массива: "); for (int i = 0; i < n; i++) { scanf("%d", &A[i]); } printf("Введите число для сдвига: "); scanf("%d", &c); shiftArray(A, n, c); printf("Массив после сдвига: "); for (int i = 0; i < n; i++) { printf("%d ", A[i]); } printf("\n"); return 0; }
Editor is loading...
Leave a Comment