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

  • 1. Цель работы

  • 3. Ход выполнения

  • бИСТ-223_Гладченко и Самойленко_Лр2. Отчет по лабораторной работе 2 по дисциплине Объектноориентированное программирование Тема Работа с массивами


    Скачать 394.55 Kb.
    НазваниеОтчет по лабораторной работе 2 по дисциплине Объектноориентированное программирование Тема Работа с массивами
    Дата20.04.2023
    Размер394.55 Kb.
    Формат файлаdocx
    Имя файлабИСТ-223_Гладченко и Самойленко_Лр2.docx
    ТипОтчет
    #1075645

    МИНИСТЕРСТВО НАУКИ И ВЫСШЕГО ОБРАЗОВАНИЯ

    РОССИЙСКОЙ ФЕДЕРАЦИИ
    ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ

    ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ

    «ВОРОНЕЖСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ»

    Факультет информационных технологий и компьютерной безопасности


    (факультет)

    Кафедра Систем автоматизированного проектирования и информационных систем



    ОТЧЕТ ПО ЛАБОРАТОРНОЙ РАБОТЕ № 2




    по дисциплине Объектно-ориентированное программирование



    Тема «Работа с массивами»

    Выполнили студенты группы ИСТ-223 Д.С. Самойленко

    Подпись, дата Инициалы, фамилия

    Е.С. Гладченко

    Подпись, дата Инициалы, фамилия

    Принял Б.Н. Тишуков


    Подпись, дата Инициалы, фамилия


    Защищена ___________________ Оценка_____________________________

    дата
    2023

    Лабораторная работа № 2

    «Работа с массивами»

    1. Цель работы

    Изучение принципов работы с массивами и применение их на практике.

    2. Задание на лабораторную работу

    Вариант 1

    Задание 1

    Написать программу в соответствии с вариантом задания для обработки

    одномерного массива.



    Задание 2

    Написать программу в соответствии с вариантом задания для обработки

    двумерного массива.



    Задание 3

    Выполнить сортировку элементов одномерного массива согласно варианту.



    3. Ход выполнения

    1. Задание 1

    В этом задании присутствуют 4 подзадачи, поэтому опишем каждую из них отдельно. Для начала запрашиваем у пользователя размер массива и создаем массив. В 1-ой подзадаче: через цикл for запрашиваем у пользователя ввод каждого элемента массива. Во 2-ой подзадаче: через цикл for проходим по всему массиву и ищем максимальный элемент и выводим его на экран. В 3-ей подзадаче: через цикл for проходимся по всему массиву и прибавляем каждый элемент в переменную sum_element, после чего в выводе делим sum_element на size (кол-во наших элементов). В 4-ой подзадаче: через цикл for, начиная с последнего элемента проходимся по всему массиву в обратном порядке и выводим каждый элемент.



    Рис.1 – Задание 1 и все подзадачи.
    2. Задание 2

    Для выполнения второго задания объявляем целочисленный двумерный массив размер 4x6. Через вложенный двойной цикл for запрашиваем у пользователя ввод каждого элемента массива. Запрашиваем у пользователя также число, которое будет использоваться в дальнейшем для проверки элементов массива. После ввода числа объявляем одномерный массив на 4 элемента, т.к. у нас всего 4 строки в двумерном массиве, и через двойной вложенный цикл for проходимся по каждому элементу двумерного массива и проверяем больше ли оно введенного ранее числа, если условие удовлетворяется, то к переменной k, которая считает кол-во чисел в строке больших введенного числа, прибавляем 1, используя инкремент. Выводим элементы одномерного массива, через цикл for.



    Рис.2 – Задание 2
    3. Задание 3

    Для выполнения 3 задания нам необходимо для начала запросить у пользователя размерность массива, после чего запросить у него ввести элементы массива в соответствии с его размерностью. Затем мы находим минимальный элемент и переменной min присваиваем значение индекса этого элемента. Далее меняем местами минимальный элемент с нулевым элементом массива. Продолжается это до тех пор, пока не будет отсортирован весь наш одномерный массив. После чего выводится на экран отсортированный массив.



    Рис.3 – Задание 3
    Так же было реализовано меню с помощью оператора switch (возможность выбора номера нужной задачи для ее проверки преподавателем).



    Рис. 4 – часть кода меню

    Вывод

    В ходе выполнения лабораторной работы номер 2 мы изучили базовые концепции и правила работы с массивами на базе языка С++ и. Научились создавать и работать как с одномерными, так и с двумерными массивами, также смогли отсортировать одномерный массив методом простого выбора.

    Приложение А

    Листинг программного кода языка C++

    #include

    using namespace std;
    void main() {

    setlocale(LC_ALL, "RUS");

    cout << "\tЗдравствуйте, эта программа выполнена студентами бИСТ-223 Самойленко Д. и Гладченко Е." << endl << "\t\tи является второй лабораторной работой по дисциплине ООП\n" << endl;

    int sh = 1, vibor;

    while (sh != 2) {

    cout << "\t\tМеню:\n";

    cout << "1) Задание 1\n" << "2) Задание 2\n" << "3) Задание 3\n" << "4) Завершить\n";

    cout << "Выберите действие: ";

    cin >> vibor;

    switch (vibor) {

    case 1: {

    int size;

    float sum_element = 0;

    cout << "Введите размер массива" << endl;

    cin >> size;

    float* parray = new float[size];

    for (int i = 0; i < size; i++)

    {

    cout << "Введите " << i << " элемент массива" << endl;

    cin >> parray[i];

    }

    float parray_max = parray[0];

    for (int i = 0; i < size; i++)

    {

    if (parray[i] > parray_max)

    {

    parray_max = parray[i];

    }

    }

    cout << "Максимальный элемент = " << parray_max << endl;

    for (int i = 0; i < size; i++)

    {

    sum_element += parray[i];

    }

    cout << "Среднее арифметическое = " << sum_element / size << endl;
    for (int i = size - 1; i != -1; i--)

    {

    cout << parray[i] <<" ";

    }

    cout << "\n";

    system("pause");

    system("cls");

    break;

    }

    case 2: {

    int parray[4][6];

    int number;

    setlocale(LC_ALL, "RUS");

    for (int i = 0; i < 4;i++) {

    for (int j = 0; j < 6; j++) {

    cout << "Введите элемент [" << i << "] [" << j << "] массива\n";

    cin >> parray[i][j];

    }

    }

    cout << "Введите заданное число: ";

    cin >> number;

    int parray_2[4];

    for (int i = 0; i < 4;i++) {

    int k = 0;

    for (int j = 0; j < 6; j++) {

    if (parray[i][j] > number) k++;

    }

    parray_2[i] = k;

    }

    for (int i = 0; i < 4; i++) cout << parray_2[i];

    cout << "\n";

    system("pause");

    system("cls");

    break;

    }

    case 3: {

    int size;

    cout << "Введите кол-во элементов массива : ";

    cin >> size;

    float* parray = new float[size];

    for (int i = 0; i < size; i++) {

    cout << "Введите " << i << " элемент массива: ";

    cin >> parray[i];

    }

    for (int i = 0;i < size - 1;i++) {

    int min = i;

    for (int j = i + 1;j < size;j++) {

    if (parray[j] < parray[min])

    min = j;

    }

    float temp = parray[i];

    parray[i] = parray[min];

    parray[min] = temp;

    }

    for (int i = 0; i < size; i++) cout << parray[i] << " ";

    cout << "\n";

    system("pause");

    system("cls");

    break;

    }

    case 4:

    sh = 2;

    break;

    default:

    break;

    }

    }

    }


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