Переставить последний элемент динамического массива на место 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()
.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д