Как написать функцию добавления/удаления элемента в массив?

Чтобы написать функцию добавления элемента в массив, необходимо учитывать несколько аспектов:

1. Создать новый массив с увеличенным размером на 1 элемент. Для этого можно использовать функцию realloc, чтобы перераспределить память для массива. Например:

int* addElement(int* arr, int size, int element) {
    arr = realloc(arr, (size + 1) * sizeof(int));  // увеличиваем размер массива на 1 элемент
    arr[size] = element;  // добавляем элемент в конец массива
    return arr;
}

2. Обновить значение переменной, хранящей размер массива:

size++;

3. Вывести обновленный массив:

for (int i = 0; i < size; i++) {
    printf("%d ", arr[i]);
}

Чтобы написать функцию удаления элемента из массива, нужно также учесть несколько факторов:

1. Найти индекс элемента, который нужно удалить. Если такого элемента нет, то завершить функцию. Например:

int findElementIndex(int* arr, int size, int element) {
    for (int i = 0; i < size; i++) {
        if (arr[i] == element) {
            return i;  // возвращаем индекс элемента
        }
    }
    return -1;  // элемент не найден
}

2. Сдвинуть элементы массива после удаленного элемента влево:

for (int i = index; i < size - 1; i++) {
    arr[i] = arr[i + 1];
}

3. Уменьшить размер массива на 1 элемент:

arr = realloc(arr, (size - 1) * sizeof(int));

4. Вывести обновленный массив:

for (int i = 0; i < size - 1; i++) {
    printf("%d ", arr[i]);
}

Перед использованием этих функций не забудьте объявить массив и его размер.