Функция: переставить в обратном порядке k элементов массива, начиная с i-го - C (СИ)

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

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

Добрый день. Помогите, пожалуйста, составить функцию, которая переставляет в обратном порядке

k

элементов массива A, начиная

i

-го (числа i и k задается пользователем):

A[1], A[2], …, A[i–1], A[i+k], A[i+k–1], …, A[i+1], A[i], A[i+k+1], …, A[n].

Массив динамический.

Решение задачи: «Функция: переставить в обратном порядке k элементов массива, начиная с i-го»

textual
Листинг программы
int j;  /* Переменная для цикла */
int i, k; /* Заданы пользователем  */
 
i--;   /* Поправка т.к. люди в отличие от машин считают с 1 */
for (j=0; j<k/2; j++)
{
    swat(i+j, i+k-j-1);
}

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

В данном коде выполняется перестановка элементов массива в обратном порядке, начиная с i-го элемента.

  1. int j; — Объявляется переменная j для использования в цикле.
  2. int i, k; — Объявляются переменные i и k, которые будут использоваться в функции. Их значения будут задаваться пользователем.
  3. i--; — Так как люди считают с 1, а не с 0, то мы уменьшаем значение i на 1.
  4. for (j=0; j<k/2; j++) — Задается цикл, который будет выполняться, пока j меньше половины значения k.
  5. swat(i+j, i+k-j-1); — В каждой итерации цикла вызывается функция swat, которая переставляет элементы массива. Первый аргумент функции — это i+j, то есть i-й элемент плюс текущее значение j. Второй аргумент функции — это i+k-j-1, то есть (i+k)-й элемент минус 1, так как индексы в массивах начинаются с 0.

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


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

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

11   голосов , оценка 3.909 из 5
Похожие ответы