Essays.club - Получите бесплатные рефераты, курсовые работы и научные статьи
Поиск

Динамическая память

Автор:   •  Февраль 15, 2025  •  Лабораторная работа  •  1,165 Слов (5 Страниц)  •  39 Просмотры

Страница 1 из 5

МИНИСТЕРСВО ОБРАЗОВАНИЯ РЕСПУБЛИКИ БЕЛАРУСЬ

УО «ПОЛОЦКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ

ИМЕНИ ЕВФРОСИНИИ ПОЛОЦКОЙ»

Факультет информационных технологий

 Кафедра технологий программирования

ЛАБОРАТОРНАЯ РАБОТА №1

По дисциплине «Основы алгоритмизации и программирования»

Тема: «Динамическая память»

Выполнила:                                                                    студент группы 23-ВС

                                                                            ______________ Рубович Е.П.

Проверил:                                                                       ассистент кафедры ТП

                                                                           ______________Сергеев М.А.

Полоцк 2024 г.

Цель работы: изучить принципы работы с памятью и функции для работы с ней. Научиться разрабатывать программы с использованием динамических структур на смежной памяти.

Практическая часть

Вариант №7

При выполнении заданий осуществлять выделение памяти при помощи функций calloc(), malloc(), realloc(). Очистку память осуществлять при помощи функции free(). Для ввода строк использовать массив типа char

Задание 1. Создать указатель на переменную типа (a), выделить для нее динамическую память, считать ее значение и вывести на экран. Освободить память.

Задание 2. Создать указатель на строку длиной и символов. Ввести строку с клавиатуры.

Уменьшить длину строки на 5 символов в конце добавить символ '\0'. Вывести результат на экран. Увеличить длину строки на М символов. Заполнить последние М элементов строки символом. Вывести результат на экран. Очистить память.

Задание 3. Создать массив типа (б), выделить память на и элементов. Считать элементы с клавиатуры и вывести полученный массив на экран. Очистить память.

Задание 4. Создать свободный массив типа (a). Считать количество элементов в строке и значения элементов с клавиатуры. Вывести результат на экран. Очистить память.

Задание 5. В динамический свободный массив записывать строки, заранее считанные с клавиатуры. То есть, сначала считывается строка, затем определяется ее длина, после чего она заносится в строку динамического массива. Вывести содержимое массива в виде текста. Очистить память.

Задание 1

#include <iostream>

#include <cstdlib>

using namespace std;

int main() {

char *p;

p = (char*)malloc(sizeof(char));

cout << "Enter a character:";

cin >> *p;

cout <<"Character entered:" << * p << endl;

free(p);

return 0;

}  

Терминал.

 [pic 1]

В результате выполнения функция считывает и выводит на экран символ, полученный через указатель.

Задание 2

#include <iostream>

#include <cstring>

using namespace std;

int main() {

    int N, M;

    cout << "Enter the initial length of the string: ";

    cin >> N;

    char* str = (char*)malloc((N + 1) * sizeof(char));  

Выделяем память для строки длиной N символов с помощью функции malloc.

    cout << "Enter a string: ";

    cin >> str;

    str[N - 5] = '\0';

    cout << "String after shortening: " << str << endl;

...

Скачать:   txt (8.8 Kb)   pdf (243.2 Kb)   docx (113.9 Kb)  
Продолжить читать еще 4 страниц(ы) »
Доступно только на Essays.club