# Проект "Работа с указателями, динамической памятью и массивами в C" ## Структура проекта ``` pr3_sysprog/ ├── task1/ │ └── main.c ├── task2/ │ └── main.c ├── task3/ │ └── main.c ├── task4/ │ └── main.c └── Makefile ``` ## Описание задач ### Task 1: Работа с указателями на целые переменные - Программа считывает два целых числа, направляет указатели на них и изменяет значения: увеличивает первую переменную в 2 раза, а вторую уменьшает в 2 раза. ### Task 2: Динамическое выделение памяти - Описываются три указателя `float`. Для них выделяется динамическая память, присваиваются произвольные значения, а затем первые две переменные меняются местами. ### Task 3: Поиск отрицательных элементов массива - Программа создает динамический массив, находит индексы отрицательных элементов и вычисляет их среднее арифметическое. ### Task 4: Создание нового массива и сортировка - Из массива `b(n)` создается новый массив `C(n)`, содержащий квадратные корни из положительных элементов массива `b(n)`, деленные на 5. Затем массив `C(n)` сортируется методом выбора. ## Компиляция и запуск ### Компиляция Для сборки всех подзадач используйте команду: ```sh make all ``` ### Запуск программ Исполняемые файлы создаются в соответствующих подкаталогах. Для запуска используйте команды: ```sh ./task1/task1 # Запуск Task 1 ./task2/task2 # Запуск Task 2 ./task3/task3 # Запуск Task 3 ./task4/task4 # Запуск Task 4 ```