Лабораторная работа №9. Динамические массивы
Требуемые условия завершения
В следующих двух задачах требуется использовать размещение массивов в динамической памяти (new
/ delete
).
Реализовать все функции из lab9.h
.Добавить вызовы тестов в test_full_lab9()
для реализованных функций.
- Описать функцию генерации динамического массива заданной длины. Для заполнения значений использовать генератор случайных чисел
std::rand()
. - Создать массив из
1 000 000
целых чисел. Используя функциюsort_time_in_seconds
замерить время сортировки массива функциейqsort
. - Реализовать функцию вставки значения в середину динамического массива. Выделять память под массив нового размера. Если число элементов в массиве нечётное, вставить элемент после центрального.
- Реализовать функцию удаления дубликатов из массива. Освобождать неиспользуемую память.
- Дан массив целых чисел A, создать массив, в который входят только чётные элементы A. Вернуть новый массив и его длину. Указание 1 (заголовок). Поскольку под возвратом массива понимается возврат указателя, то
int *
можно сделать либо явным возвращаемым значением функции, либо передавать по ссылке, подразумевая выходной параметр. Следовательно, имеем два приемлемых варианта заголовка данной функции:
int * onlyEvens(int * a, int size, int & newSize);
void onlyEvens(int * a, int size, int * & evens, int & newSize);
- Дан массив целых чисел A, создать массив, в котором после каждого элемента, последняя цифра которого равна трём, вставлено число 0.
- Дан массив вещественных чисел. Удалить из массива все элементы, меньшие среднего арифметического элементов массива.
delete []
).- 9 апреля 2018, 13:02
- 9 апреля 2018, 13:02
- 9 апреля 2018, 13:02
- 9 апреля 2018, 13:02
- 9 апреля 2018, 13:02
- 9 апреля 2018, 13:02