Дан одновимірний масив числових значень, що нараховує N елементів. Виключити з нього М елементів, починаючи з номера К.
Мова: С
Ответы
Ответ:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <memory.h>
int main() {
srand(time(NULL));
int N=30, M=5, K=5;
printf("N: ");
scanf_s("%d",&N);
int A[N];
printf("[");
for (int i = 0; i < N; ++i) {
A[i] = rand() % 100 - 50;
printf("%d ", A[i]);
}
printf("]\n\n");
printf("M:");
scanf_s("%d", &M);
printf("K:");
scanf_s("%d", &K);
int total[N-K-1];
memcpy(total, &(A[0]), (M-1) * sizeof(int));
memcpy(total+(M-1), &(A[M+K]), (N-M-K) * sizeof(int));
printf("[");
for (int i = 0; i < N-K-1; ++i) {
printf("%d ", total[i]);
}
printf("]\n\n");
}
Объяснение:
https://pastebin.com/0f3Rj5gD
N:30
[34 1 0 10 29 13 43 -8 15 19 21 3 38 20 -45 -47 -9 -38 46 23 6 -23 20 34 29 41 -20 -46 46 21 ]
M:5
K:5
[34 1 0 10 21 3 38 20 -45 -47 -9 -38 46 23 6 -23 20 34 29 41 -20 -46 46 21 ]