Для того чтобы корректно добавить элемент в динамический массив, необходимо правильно управлять памятью и корректно переносить элементы массива. Только исправленная версия функции Dobavit_Delo и изменения в основном коде:
string* Dobavit_Delo(string *arr, string Vvod, int index, int size)
{
string* arr3 = new string[size]; // Новый массив на 1 больше
for (int i = 0, j = 0; i < size - 1; ++i, ++j)
{
if (i == index)
{
arr3[j] = Vvod;
++j;
}
arr3[j] = arr[i];
}
if (index == size - 1)
{
arr3[size - 1] = Vvod;
}
delete[] arr; // Удаляем старый массив
return arr3; // Возвращаем новый массив
}
Основной код скину в виде ссылки:
Скачать Основные изменения:
Исправлена логика функции Dobavit_Delo для правильного добавления элемента в массив.
В основном коде используется возвращаемый новый массив из Dobavit_Delo и обновляется размер массива после добавления нового элемента.