Главная страница
Навигация по странице:

  • «Самарский

  • Цель и

  • Задачами

  • Задание

  • Графическая

  • Пример Работы программы: Вывод

  • Лабораторная по физике №4 СамГТУ 1 курс. Лабараторная_работа_№4_Родионов_Дмитрий. Указатели


    Скачать 123.43 Kb.
    НазваниеУказатели
    АнкорЛабораторная по физике №4 СамГТУ 1 курс
    Дата24.02.2022
    Размер123.43 Kb.
    Формат файлаdocx
    Имя файлаЛабараторная_работа_№4_Родионов_Дмитрий.docx
    ТипДокументы
    #371763

    МИНОБРНАУКИ РОССИИ

    федеральное государственное бюджетное образовательное учреждение высшего образования

    «Самарский государственный технический университет» (ФГБОУ ВО «СамГТУ»)


    О Т Ч Е Т

    о выполнении лабораторной работы 4

    по дисциплине «Языкииметодыпрограммирования»
    по теме УКАЗАТЕЛИ. ДИНАМИЧЕСКИЕ МАССИВЫ.


    Преподаватель

    к.т.н., доцент







    А.Г. Золин




    (должность)

    (подпись)

    (дата)

    (инициалы, фамилия)

    Преподаватель

    к.т.н., доцент







    Е.А. Халикова



    Студент

    (должность)
    104

    (подпись)

    (дата)

    (инициалы, фамилия)
    Д.В. Родионов




    (группа)

    (подпись)

    (дата)

    (инициалы, фамилия)


    Самара 2021 г.

    Цель и задачи работы:

    Целью работы является получение обучающимися навыков работы с динамической памятью в языке С++.
    Задачами работы являются:

    • написание программы на языке С++ с использованием указателей при обработке динамических массивов;

    - тестирование работоспособности программы для различных исходных данных.
    Задание 1.

    Решить задачу для динамического массива, не используя индексацию. Дан целочисленный массив размера N. Преобразовать его, прибавив к отрицательным числам последний элемент. Первый и последний элементы массива не изменять. Вывести адрес минимального элемента исходного массива.

    Графическая схема алгоритма:



    Программный код:

    #include

    #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;

    }
    Пример Работы программы:




    Вывод:

    Мною были получены навыки работы с динамической памятью в языке С++.


    написать администратору сайта