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