Файл: Отчет по лабораторной работе 2 по дисциплине Объектноориентированное программирование Тема Работа с массивами.docx

ВУЗ: Не указан

Категория: Отчет по практике

Дисциплина: Не указана

Добавлен: 09.01.2024

Просмотров: 36

Скачиваний: 2

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

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

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

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

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

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


(факультет)

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



ОТЧЕТ ПО ЛАБОРАТОРНОЙ РАБОТЕ № 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;

}

}

}