Лабораторная по физике №4 СамГТУ 1 курс. Лабараторная_работа_№4_Родионов_Дмитрий. Указатели
Скачать 123.43 Kb.
|
МИНОБРНАУКИ РОССИИ федеральное государственное бюджетное образовательное учреждение высшего образования «Самарский государственный технический университет» (ФГБОУ ВО «СамГТУ») О Т Ч Е Т о выполнении лабораторной работы № 4 по дисциплине «Языкииметодыпрограммирования» по теме УКАЗАТЕЛИ. ДИНАМИЧЕСКИЕ МАССИВЫ.
Самара 2021 г. Цель и задачи работы: Целью работы является получение обучающимися навыков работы с динамической памятью в языке С++. Задачами работы являются: написание программы на языке С++ с использованием указателей при обработке динамических массивов; - тестирование работоспособности программы для различных исходных данных. Задание 1. Решить задачу для динамического массива, не используя индексацию. Дан целочисленный массив размера N. Преобразовать его, прибавив к отрицательным числам последний элемент. Первый и последний элементы массива не изменять. Вывести адрес минимального элемента исходного массива. Графическая схема алгоритма: Программный код: #include #include #include using namespace std; int main() { setlocale(LC_ALL,"Russian"); srand(time(NULL)); int N; cout << "Задайте размер массива " << endl; cin >> N; int * ar = new int[N]; for (int i = 0; i < N; i++) {*(ar + i) = rand() % 101 -50;} cout << endl << "Исходный массив" << endl; int mI = 0; for (int i = 0; i < N; i++) { cout << *(ar + i) << " Адрес: " << ar + i << " "; } cout << endl; for (int i = 0; i < N; i++) { if (*(ar + i) < *(ar + mI)) { mI = i; } } cout << endl << "Адрес минимального эелемента в массиве " << ar + mI << endl; for (int i = 1; i < N-1; i++) { if (*(ar + i) < 0) { *(ar + i) = (*(ar + i) + *(ar + N-1)); } } cout << endl << "Массив после преобразования " << endl; for (int i = 0; i < N; i++) { cout << *(ar + i) << " "; } cout << endl; delete[]ar; ar = NULL; } Пример Работы программы: Вывод: Мною были получены навыки работы с динамической памятью в языке С++. |