46 lines
2.3 KiB
Markdown
46 lines
2.3 KiB
Markdown
# Проект "Работа с указателями, динамической памятью и массивами в 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
|
||
``` |