Циклически сдвинуть элементы массива на К разрядов вправо - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Помогите пожалуйста написать вот такую программку: Ввести массив целых чисел длиной n (n < 30). Циклически сдвинуть элементы массива на К разрядов вправо, к нужно вводить с клавиатуры.

Решение задачи: «Циклически сдвинуть элементы массива на К разрядов вправо»

textual
Листинг программы
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. void reverse(unsigned a[], unsigned n)
  5. {
  6.   for (unsigned i = 0, j = n - 1; i < j; ++i, --j)
  7.   {
  8.     unsigned tmp = a[i];
  9.     a[i] = a[j];
  10.     a[j] = tmp;
  11.   }
  12. }
  13.  
  14. #define N 30u
  15. #define K 5u
  16.  
  17. int main()
  18. {
  19.   unsigned a[N];
  20.  
  21.   for (unsigned i = 0; i < N; ++i)
  22.     a[i] = i;
  23.  
  24.   for (unsigned i = 0; i < N; ++i)
  25.     printf("%u ", a[i]);
  26.   printf("\n");
  27.  
  28.   reverse(a, K);
  29.   reverse(a + K, N - K);
  30.   reverse(a, N);
  31.  
  32.   for (unsigned i = 0; i < N; ++i)
  33.     printf("%u ", a[i]);
  34.   printf("\n");
  35. }

Объяснение кода листинга программы

  1. Программа включает в себя два стандартных заголовочных файла: iostream.h и stdlib.h.
  2. Функция reverse() выполняет инверсию элементов массива.
  3. В функции main() создается массив типа unsigned с размером N и заполняется значениями от 0 до N-1.
  4. Выводится содержимое массива.
  5. В первой части цикла элементы массива сдвигаются вправо на K позиций.
  6. Во второй части цикла выполняется обратный сдвиг элементов массива на N-K позиций.
  7. В третьей части цикла выполняется инверсия элементов массива.
  8. Выводится содержимое массива после выполнения всех операций.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 3.615 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы