Реферат Курсовая Конспект
ЗАВДАННЯ №1. - раздел Образование, Тема: Конструктори без параметрів. Конструктори ініціалізації. Деструктори Створити Клас Dinmas (Динамічний Масив).у Класі Передбачити Можливість Добавл...
|
Створити клас DinMas (Динамічний масив).У класі передбачити можливість добавлення нових елементів масиву при перевищенні розмірності
масиву. Клас повинен містити конструктор без параметрів ( ініціалізує масив із п’яти елементів), конструктор ініціалізації
( розмірність задається з клавіатури), конструктор копіювання, деструктор, функцію виведення елементів масиву.
Також у класі визначити:
функцію, яка повертає кількість від’ємних елементів;
функцію, яка сортовує масив по-зростанню;
функцію, яка кожний елемент масиву множить на число типу int;
Створити два об’єкта Ar1 , Ar2 даного класу. Перший об’єкт ініціалізується конструктором без параметрів, другий –
конструктором ініціалізації. Вивести два об’єкта на екран з коментарями.
Знайти кількість від’ємних елементі, відсортовати масив по-зростанню, кожний елемент масиву помножить на число чотири;
Створити об’єкт Ar3 на основі об’єкта Ar2 даного класу.
Результати вивести на екран.
#include <iostream>
#include <stdlib.h>
#include <math.h>
#include <conio.h>
using namespace std;
class Array
{
int *m_arr;
int m_size;
int m_step;
int m_curInd;
void AddMemory();
public:
Array(int size, int step);
Array();
~Array();
void Add(int a);
void Show();
int Get(int index);
int subZero();
void mul();
void sort();
};
void Array::AddMemory()
{
int *n_arr = new int[m_size + m_step];
memcpy(n_arr, m_arr, m_size * sizeof(int));
//delete []m_arr;
m_arr = n_arr;
m_size += m_step;
}
Array::Array()
{
m_size = 10;
m_step = 5;
m_curInd = 0;
m_arr = new int[m_size];
}
Array::Array(int size, int step) : m_size(size), m_step(step), m_curInd(0), m_arr(new int[size]) {}
Array::~Array()
{
delete []m_arr;
}
void Array::Add(int a)
{
m_arr[m_curInd++] = a;
if (m_curInd == m_size)
AddMemory();
}
void Array::Show()
{
for (int i = 0; i < m_curInd; i++)
cout << m_arr[i] << " ";
cout << endl;
}
int Array::Get(int index)
{
return m_arr[index];
}
void main()
{
Array *Ar1 = new Array();
Array *Ar2 = new Array(10,5);
cout<<"Ar1 - ";
Ar1->Show();
cout<<"Ar2 - ";
Ar2->Show();
for (int i = 0; i < 10; i++)
{
Ar1->Add(rand()%300 - 150);
Ar2->Add(rand()%300 - 150);
}
cout<<"the number of negative values Ar1 "<<Ar1->subZero()<<"n";
cout<<"the number of negative values Ar2 "<<Ar2->subZero()<<"n";
cout<<"Sorting an array in ascending Ar1n";
Ar1->sort();
Ar1->Show();
cout<<"n";
cout<<"Sorting an array in ascending Ar2n";
Ar2->sort();
Ar2->Show();
cout<<"n";
cout<<"Multiply by 4n";
Ar1->mul();
Ar1->Show();
cout<<"n";
Ar2->mul();
Ar2->Show();
cout<<"n";
Array *Ar3(Ar2);
Ar3->Show();
system("pause");
}
int Array::subZero()
{
int a = 0;
for(int g = 0; g < m_size; g++)
if(m_arr[g] < 0)
a++;
return a;
}
void Array::sort()
{
for(int k = 0; k < m_size; k++)
for(int j = k + 1; j < m_size;j++)
if(m_arr[k] > m_arr[j])
{
m_arr[k] += m_arr[j];
m_arr[j] = m_arr[k] - m_arr[j];
m_arr[k] = m_arr[k] - m_arr[j];
}
}
void Array::mul()
{
for(int b = 0; b < m_size;b++)
{
m_arr[b] *= 4;
}
}
– Конец работы –
Эта тема принадлежит разделу:
Тема Конструктори без параметрів Конструктори ініціалізації Деструктори... Мета навчититись створювати програми з використанням конструкторів без параметрів та конструкторів з параметрів та...
Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: ЗАВДАННЯ №1.
Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:
Твитнуть |
Новости и инфо для студентов