Как удалить нечетные элементы из массива? - C (СИ)

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

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

Как удалить нечетные елементы из массива? Помогите пожалуйста..Заранее спасибо.

Решение задачи: «Как удалить нечетные элементы из массива?»

textual
Листинг программы
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#define N 7
#define PRMS(x, n) \
    for(int i = 0; i<(n); ++i) \
        printf("%d ", (x)[i]); puts("")
 
int mas[N]={3, 5, 2, 7, 4, 65, 34};
 
int main (void)
{
    int i, j;
    PRMS(mas, N);
    for(i = 0, j=N; i<j; ++i)
    {
        if(!abs(mas[i]%2))continue;
        memmove(mas+i, mas+i+1, sizeof(int)*(j-i-1));
        --j; --i;
    }
    PRMS(mas, j);
    return 0;
}

Объяснение кода листинга программы

Вот что делает данный код:

  1. Включает необходимые заголовочные файлы.
  2. Определяет массив и его размер.
  3. Выводит элементы массива на экран.
  4. В функции main() объявляет переменные i, j, которые будут использоваться в цикле.
  5. Проходит по всем элементам массива с помощью цикла PRMS(mas, N).
  6. Использует условный оператор для проверки чётности каждого элемента массива.
  7. Если элемент чётный, то с помощью функции memmove() перемещает его на одну позицию вправо.
  8. Уменьшает значение переменной j на 1, так как один элемент удален.
  9. Уменьшает значение переменной i на 1, так как один элемент удален.
  10. Повторяет шаги 5–9 до тех пор, пока все нечетные элементы не будут удалены.
  11. Выводит отформатированный массив на экран.
  12. Завершает программу.

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


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

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

5   голосов , оценка 4 из 5
Похожие ответы