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

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

  1. Создать новый массив с увеличенным размером на 1 элемент. Для этого можно использовать функцию realloc, чтобы перераспределить память для массива. Например:
int* addElement(int* arr, int size, int element) {
    arr = realloc(arr, (size + 1) * sizeof(int));  // увеличиваем размер массива на 1 элемент
    arr[size] = element;  // добавляем элемент в конец массива
    return arr;
}
  1. Обновить значение переменной, хранящей размер массива:
size++;
  1. Вывести обновленный массив:
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;  // элемент не найден
}
  1. Сдвинуть элементы массива после удаленного элемента влево:
for (int i = index; i < size - 1; i++) {
    arr[i] = arr[i + 1];
}
  1. Уменьшить размер массива на 1 элемент:
arr = realloc(arr, (size - 1) * sizeof(int));
  1. Вывести обновленный массив:
for (int i = 0; i < size - 1; i++) {
    printf("%d ", arr[i]);
}

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