2 сем 1 курс С++ / ЛР 2 / 0501_Конунников_ЛР№2
.docxМинистерство науки и высшего образования
Российской Федерации
Федеральная государственная автономная образовательное учреждение высшего образования “Санкт-Петербургский государственный электротехнический университет “ЛЭТИ им В.И.Ульянова (Ленина)”
(СПбГЭТУ)
Факультет информационно-измерительных и биотехнических систем
Кафедра:
Отчет: По лабораторной работе №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;
}
Заданные параметры и вывод программы:
Вывод правильный.
Вывод: Программа успешно реализована.