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

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

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

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

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

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

(СПбГЭТУ)

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

Кафедра:

Отчет: По лабораторной работе №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