ПРОГРАММИРОВАНИЕ С++. НАПИСАТЬ ПРОГРАММУ
Разработать функцию в соответствии с вариантом. Функции с переменным числом аргументов реализовывать посредством вариативных шаблонов.
Варианты заданий:
Написать функцию resize(), меняющую размер массива произвольного типа данных. Функция принимает в качестве аргумента указатель на массив, количество элементов массива, новое число элементов.
#include
#include
template
T* resizeArray(T* arr, size_t currentSize, size_t newSize) {
T* newArray = new T[newSize];
size_t elementsToCopy = std::min(currentSize, newSize);
std::copy(arr, arr + elementsToCopy, newArray);
delete[] arr;
return newArray;
}
int main() {
int* intArray = new int[5]{1, 2, 3, 4, 5};
size_t currentSize = 5;
size_t newSize = 8;
int* resizedIntArray = resizeArray(intArray, currentSize, newSize);
std::cout << "Resized Array:" << std::endl;
for (size_t i = 0; i < newSize; ++i) {
std::cout << resizedIntArray[i] << " ";
}
std::cout << std::endl;
// Освобождаем память
delete[] resizedIntArray;
return 0;
}
Сделал ИИ,
ссылка.
Варианты заданий: