Удаление элементов массива - C (СИ) (70894)

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

Допустим нам дан массив А[5] . Как в данном массиве удалить , ну например 1 и 3 элементы , что бы на выходе вместо 1 2 3 4 5 компилятор выдал 1 3 5 ?

Код к задаче: «Удаление элементов массива - C (СИ) (70894)»

textual
#include <stdio.h>
 
int* array_remove_even(int* _f, int* _l){
    int* p;
    while((_f != _l) && !(*_f % 2))
        ++_f;
 
    for(p = _f; _f != _l; ++_f){
        if(*_f % 2)
            *p++ = *_f;
    }
    return p;
}
 
int main(void){
    int* p, *e;
    int a[] = { 1, 2, 3, 4, 5 };
    int   n = sizeof(a)/sizeof(a[0]);
 
    e = array_remove_even(a, a + n);
    for(p = &a[0]; p != e; ++p)
        printf("%d ", *p);
    return 0;
}
Эта работа вам не подошла?

Вы всегда можете заказать любую учебную работу у наших авторов от 20 руб.

13   голосов, оценка 3.846 из 5


СДЕЛАЙТЕ РЕПОСТ