Чтобы написать функцию добавления элемента в массив, необходимо учитывать несколько аспектов:
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]); }
Перед использованием этих функций не забудьте объявить массив и его размер.