Add README.md

This commit is contained in:
gandc 2025-03-13 16:06:21 +03:00
parent b05e76d3d7
commit 55e90d2356
Signed by: gandc
GPG Key ID: 9F77B03D43C42CB4

52
README.md Normal file
View File

@ -0,0 +1,52 @@
# Проект "Работа с указателями, динамической памятью и массивами в 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
```
Если make сообщает, что "Nothing to be done", выполните очистку и пересборку:
```sh
make clean
make all
```
### Запуск программ
Исполняемые файлы создаются в соответствующих подкаталогах. Для запуска используйте команды:
```sh
./task1/task1 # Запуск Task 1
./task2/task2 # Запуск Task 2
./task3/task3 # Запуск Task 3
./task4/task4 # Запуск Task 4
```