Удалить каждый второй элемент заданного массива - C (СИ)
Формулировка задачи:
Задание: удалить каждый второй элемент заданного массива, при этом новый массив не
заводить. Вот код, но где то допущена ошибка и поэтому при выводе программа в ответе выводит те элементы которые должна удалить а не те которые должны быть
. Если найдете ошибку и исправите буду очень признателен.
#include <stdio.h> #include <stdlib.h> #include<time.h> void main() { int n, i, k; int a[9999]; srand(time(NULL)); printf("vvedite kol-vo elem: "); scanf("%d", &n); for (i = 0; i <n ; i++) { a[i] = rand() % 20; printf("%d ", a[i]); } for (i = 1; i <= n; i++) { for (int j = 1;j <= n;j++) if (i %2==0) a[i] = a[i + 1]; n--; } for (i = 0; i <n; i++) printf("%d\n ", a[i]); }
Решение задачи: «Удалить каждый второй элемент заданного массива»
textual
Листинг программы
n=(n+1)/2; for (i = 0; i < n; i++) { a[i]=a[i*2]; } printf("\n"); for (i = 0; i <n; i++) { printf("%d ", a[i]); }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д