Цель работы - получение навыков работы с динамическими массивами
1. Объявите указатель на одномерный динамический массив:
double * ptr_array;
2. Организуйте ввод размера массива с клавиатуры.
3. Выделите память под массив с помощью функций malloc(..) или calloc(..)
ptr_array = (double*)malloc(size * sizeof(double));
if (ptr_array == NULL) {
puts("error");
return -1;
}
4. Заполните массив значениями, используя функцию из лаб. 14
double* full_elements(double *ptr_array, int size); - заполнение массива значениями собственной функции
5. Выполните над элементами массива указанное преобразование (см. функцию лаб.14
double* calc_elements(double *ptr_array, int size); - обработка элементов массива (см. инд. вариант зад. 1.3 в работе 11) и сформируйте новый массив, содержащий результат преобразования.
6. Выведите на экран значения элементов двух массивов, используя функцию лаб.14
int put_elements(double *ptr_array, int size); - печать элементов массива
7. Удалите динамические массивы с помощью функции free().
int delete_k (double* ptr_arr, int size, int k) {
/* ptr_arr - адрес массива
size - число элементов
k - индекс удаляемого элемента */
int n = size-1;
for (int i = k; i < (size - 1); i++) ptr_arr[i] = ptr_arr[i + 1];
return n;//возвращает число элементов массива
}
1. Удаление элемента с заданным номером.
2. Удаление из массива каждого k-го элемента.
3. Удаление из массива К элементов, начиная с заданного номера.
4. Удаление элементов значение которых превышает A.
5. Удаление двух максимальных элементов.
6. Удаление все элементов, значения которых отрицательные.
7. Удаление максимального и минимального элемента.
8. Удаление всех элементов меньших среднего арифметического
1. Вставка в случайную позицию.
2. Вставка после каждого k-го элемента.
3. Вставка К элементов, после минимального.
4. Вставка после последнего отрицательногое.
5. Вставка перед максимальным элементом.
6. Вставка после каждого положительного.
7. Вставка до и после минимального элемента.
8. Вставка перед первым отрицательным