Сдвинуть элементы массива циклически на M позиций влево - C (СИ)
Формулировка задачи:
Элементы массива циклически сдвинуть на M позиций влево
Решение задачи: «Сдвинуть элементы массива циклически на M позиций влево»
textual
Листинг программы
#include <stdio.h>
int main(void)
{
const int size = 5;
int array[size] = { 1, 2, 3, 4, 5 };
int i, j, temp;
int m = 2; // количество позиций на которые сдвигаем
for (i = 0; i < m; ++i)
{
temp = array[size-1];
for ( j = size - 1; j > 0; j--)
array[j] = array[j-1];
array[0] = temp;
}
for ( i = 0; i < size; ++i)
printf("%d ", array[i]);
}
Объяснение кода листинга программы
- Подключение стандартной библиотеки для работы с файлами и вывода данных
- Объявление константы размера массива
- Инициализация массива с пятью элементами
- Объявление переменных для хранения индексов и временного значения
- Установка значения переменной
mравным двум (2) - Повторение цикла
forот 0 доm(включительно) - В каждой итерации цикла значение переменной
tempменяется на последний элемент массива - В каждой итерации цикла значение переменной
array[0]меняется на значениеtemp - После завершения цикла
for, значения массива выводятся на экран через пробел