Добавил:
Помощь с лабораторными, контрольными практическими и курсовыми работами по: - Инженерной и компьютерной графике - Прикладной механике Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

2 сем 1 курс С++ / ЛР 2 / 0501_Конунников_ЛР№2

.pdf
Скачиваний:
0
Добавлен:
08.08.2022
Размер:
492.28 Кб
Скачать

Министерство науки и высшего образования

Российской Федерации

Федеральная государственная автономная образовательное учреждение высшего образования “Санкт-Петербургский государственный электротехнический университет “ЛЭТИ им В.И.Ульянова (Ленина)”

(СПбГЭТУ)

Факультет информационно-измерительных и биотехнических систем

Кафедра: Кафедра биотехнических систем

Отчет: По лабораторной работе №1. <<C++. Структуры.>>

По дисциплине: Информационные технологии

Студент гр.0501 Конунников Г.А.

Преподаватель: Сулоева Е.С.

Санкт-Петербург

2021

Цель работы: знакомство со структурой.

Индивидуальное задание. Вариант 22

Используя понятие класса, создать новый тип данных VECTOR (одномерный массив). Массив создается в динамической области памяти с использованием операций NEW и DELETE. Исходными данными являются: реальный размер массива и его значения.

Предусмотреть:

·динамическое выделение памяти под вектор в конструкторе

·заполнение элементов массива оформить в виде функции-члена;

·определить функции-члены, решающие следующие задачи:

-нахождение максимального значения массива

-нахождение максимального значения массива

-среднее арифметическое значение элементов массива

Индивидуальная часть задания:

Задан массив А(10). Получить из него массив В, состоящий из элементов массива А, которые меньше 0.

Экспериментальные результаты.

Текст программы:

#include <iostream>

/* run this program using the console pauser or add your own getch, system("pause") or input loop */

using namespace std; class Vector { private:

int size_of; int *massiv; public:

Vector(){ size_of =5;

massiv = new int [size_of];

}

Vector (int count){ size_of=count;

massiv = new int [size_of];

}

void Set (){

int element;

for (int i=0; size_of>i; i++){

scanf("%d", &element);

massiv[i]=element;

}

}

~Vector (){ delete [] massiv;

}

void Print (){

for (int i=0; size_of>i; i++){ printf ("%d ", massiv[i]);

}

printf ("\n");

}

int maximum (){

int maximum = massiv[0];

for (int i=0; size_of>i; i++){ if (massiv[i]>maximum){ maximum=massiv[i];

}

}

return maximum;

}

int minimum (){

int minimum = massiv[0];

for (int i=0; size_of>i; i++){

if (massiv[i]<minimum){ minimum=massiv[i];

}

}

return minimum;

}

double sredneearifmet (){

double srednee=0; int summa=0;

for (int i=0; size_of>i; i++){ summa = summa + massiv [i];

}

srednee = (double) summa /size_of;

return srednee;

}

void Change (){ int count=0;

for (int i=0; size_of>i; i++){ if (massiv[i]<0){ count=count+1;

}

}

int *result = new int [count];

int q=0;

for (int i=0; size_of>i; i++){ if (massiv[i]<0){

result [q]=massiv[i]; q++;

}

}

for (int i=0; count>i; i++){ printf("%d ", result [i]);

}

delete [] result;

}

};

int main (){

Vector qwerty(10); qwerty.Set ();

qwerty.Print();

printf ("%d \n", qwerty.minimum()); printf ("%d \n", qwerty.maximum());

printf ("%f \n", qwerty.sredneearifmet());

qwerty.Change();

return 0;

}

Заданные параметры и вывод программы:

Вывод правильный.

Вывод: Программа успешно реализована.

Соседние файлы в папке ЛР 2