рефераты конспекты курсовые дипломные лекции шпоры

Реферат Курсовая Конспект

ЗАВДАННЯ №1.

ЗАВДАННЯ №1. - раздел Образование, Тема: Створення динамічного класу Array. Створення об’єктів , які мають необмежену кількість елементів динамічного масиву Дан Клас Mas (Динамічний Масив).клас Повинен Містити Конструктор Без Параметр...

Дан клас Mas (Динамічний масив).Клас повинен містити конструктор без параметрів ( ініціалізує масив із восьми елементів), конструктор ініціалізації ( розмірність задається з клавіатури), деструктор, функцію виведення елементів масиву.

Також у класі визначити:

· функцію, яка повертає добуток від’ємних елементів;

· функцію, яка сортовує масив по-зменьшенню;

· функцію, яка кожний елемент масиву множить на число типу int;

Створити два об’єкта Ar1 , Ar2 даного класу. Перший об’єкт ініціалізується конструктором без параметрів, другий – конструктором ініціалізації. Вивести два об’єкта на екран з коментарями.

Знайти суму добуток від’ємних елементі, кожний елемент масиву помножить на число типу int; відсортовати масив по- зменьшенню. Результати вивести на екран.

ПРИМІТКА : У класі передбачити можливість добавлення нових елементів масиву при перевищенні розмірності масиву .Вивести результати

Створити об’єкт Ar3 на основі об’єкта Ar2 даного класу. Вивести об’єкт Ar3.

 

#include <iostream>

#include <stdlib.h>

#include <math.h>

#include <conio.h>

using namespace std;

class Mas

{

int *m_arr;

int m_size;

int m_step;

int m_curInd;

void AddMemory();

 

public:

Mas(int size, int step);

Mas();

~Mas();

void Add(int a);

void Show();

int Get(int index);

int subZeroMul();

void mul(int a);

void sort();

};

 

void Mas::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;

}

 

Mas::Mas()

{

m_size = 8;

m_step = 5;

m_curInd = 0;

m_arr = new int[m_size];

}

 

Mas::Mas(int size, int step) : m_size(size), m_step(step), m_curInd(0), m_arr(new int[size]) {}

 

Mas::~Mas()

{

delete []m_arr;

}

 

void Mas::Add(int a)

{

m_arr[m_curInd++] = a;

if (m_curInd == m_size)

AddMemory();

}

 

void Mas::Show()

{

for (int i = 0; i < m_curInd; i++)

cout << m_arr[i] << " ";

cout << endl;

}

 

int Mas::Get(int index)

{

return m_arr[index];

}

 

void main()

{

Mas *Ar1 = new Mas();

int a,b;

cout<<"Input size of arrayn-->";

cin>>a;

cout<<"Input step of arrayn-->";

cin>>b;

Mas *Ar2 = new Mas(a,b);

for (int i = 0; i < 8; i++)

{

Ar1->Add(rand()%300 - 150);

}

for (int i = 0; i < a; i++)

{

Ar2->Add(rand()%300 - 150);

}

cout<<"the mutiple all negative values Ar1 "<<Ar1->subZeroMul()<<"n";

cout<<"the mutiple all negative values Ar2 "<<Ar2->subZeroMul()<<"n";

cout<<"Sorting an Mas in ascending Ar1n";

Ar1->sort();

Ar1->Show();

cout<<"n";

cout<<"Sorting an Mas in ascending Ar2n";

Ar2->sort();

Ar2->Show();

cout<<"n";

cout<<"Multiply by 4n";

Ar1->mul(4);

Ar1->Show();

cout<<"n";

Ar2->mul(4);

Ar2->Show();

cout<<"n";

Mas *Ar3(Ar2);

cout<<"Ar3 -->";

Ar3->Show();

system("pause");

}

int Mas::subZeroMul()

{

int a = 1;

for(int g = 0; g < m_size; g++)

if(m_arr[g] < 0)

a *= m_arr[g];

return a;

}

void Mas::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 Mas::mul(int a)

{

for(int b = 0; b < m_size;b++)

{

m_arr[b] *= a;

}

}

 

Висновок:

– Конец работы –

Эта тема принадлежит разделу:

Тема: Створення динамічного класу Array. Створення об’єктів , які мають необмежену кількість елементів динамічного масиву

Тема Створення динамічного класу Array Створення об єктів які мають... Мета опанувати навички створення динамічних об єктів які мають необмежену кількість елементів динамічного масиву...

Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: ЗАВДАННЯ №1.

Что будем делать с полученным материалом:

Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:

Все темы данного раздела:

Эта работа не имеет других тем.

Хотите получать на электронную почту самые свежие новости?
Education Insider Sample
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Реклама
Соответствующий теме материал
  • Похожее
  • Популярное
  • Облако тегов
  • Здесь
  • Временно
  • Пусто
Теги