Переставить последний элемент динамического массива на место k-ого элемента - C (СИ)
Формулировка задачи:
Переставить последний элемент массива на место k-ого элемента. При этом k-ый, (k+1)-ый,..., предпоследний элементы сдвинуть вправо на 1 позицию.
Решение задачи: «Переставить последний элемент динамического массива на место k-ого элемента»
textual
Листинг программы
- #include <stdio.h>
- #include <stdlib.h>
- #include <time.h>
- #define N 100
- void array_shift(int *pt, int n, int k) {
- int temp, i;
- temp = pt[n - 1];
- for (i = n-1; i > k; i--)
- {
- pt[i] = pt[i - 1];
- }
- pt[k] = temp;
- }
- int main(void) {
- int i, k, n;
- int *mas = (int*)malloc(N*sizeof(int));
- printf("Enter size of array ");
- scanf_s("%d", &n);
- printf("\n");
- srand(time(NULL));
- for (i = 0; i<n; ++i)
- {
- mas[i] = rand() % 100;
- printf("%d\t", mas[i]);
- }
- printf("Enter value of k ");
- scanf_s("%d", &k);
- array_shift(mas, n, k);
- printf("\n");
- for (i = 0; i<n; ++i)
- {
- printf("%d\t", mas[i]);
- }
- free(mas);
- system("pause");
- return 0;
- }
Объяснение кода листинга программы
В данном коде выполняется перестановка последнего элемента динамического массива на место k-ого элемента.
- В начале программы подключаются необходимые заголовочные файлы:
•
stdio.h
- для работы с функциями ввода-вывода; •stdlib.h
- для работы с функциейmalloc
иfree
; •time.h
- для инициализации генератора случайных чисел. - Затем определяются переменные:
•
N
- размер массива; •n
- количество элементов в массиве; •k
- номер элемента, на который необходимо переставить последний элемент массива; •mas
- указатель на начало массива. - Далее, в функции
main
, запрашивается размер массива и сохраняется в переменнойn
. - Массив инициализируется случайными числами от 0 до 99 с помощью функции
rand()
. - После вывода начального состояния массива, запрашивается номер элемента, на который необходимо переставить последний элемент массива.
- Вызывается функция
array_shift
, которая переставляет последний элемент массива на место k-ого элемента. - Выводится обновленное состояние массива.
- В конце программы выполняется освобождение памяти, выделенной под массив, с помощью функции
free()
.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д