Удалить каждый второй элемент заданного массива - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Задание: удалить каждый второй элемент заданного массива, при этом новый массив не заводить. Вот код, но где то допущена ошибка и поэтому при выводе программа в ответе выводит те элементы которые должна удалить а не те которые должны быть . Если найдете ошибку и исправите буду очень признателен.
Листинг программы
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include<time.h>
  4. void main()
  5. {
  6. int n, i, k;
  7. int a[9999];
  8. srand(time(NULL));
  9. printf("vvedite kol-vo elem: ");
  10. scanf("%d", &n);
  11. for (i = 0; i <n ; i++)
  12. {
  13. a[i] = rand() % 20;
  14. printf("%d ", a[i]);
  15. }
  16. for (i = 1; i <= n; i++)
  17. {
  18. for (int j = 1;j <= n;j++)
  19.  
  20. if (i %2==0)
  21. a[i] = a[i + 1];
  22. n--;
  23. }
  24. for (i = 0; i <n; i++)
  25. printf("%d\n ", a[i]);
  26. }

Решение задачи: «Удалить каждый второй элемент заданного массива»

textual
Листинг программы
  1. n=(n+1)/2;
  2. for (i = 0; i < n; i++)
  3. {
  4.     a[i]=a[i*2];
  5. }
  6. printf("\n");
  7. for (i = 0; i <n; i++)
  8. {
  9.     printf("%d ", a[i]);
  10. }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 4 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы