Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.53/15: Рейтинг темы: голосов - 15, средняя оценка - 4.53
0 / 0 / 0
Регистрация: 08.09.2016
Сообщений: 5
1

Класс "Массив беззнаковых целых чисел"

20.09.2016, 01:34. Просмотров 2761. Ответов 6
Метки нет (Все метки)


Нужно создать класс содержащий динамический массив беззнаковых целых чисел.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
20.09.2016, 01:34
Ответы с готовыми решениями:

Класс "Динамический одномерный массив целых чисел"
Задача заключается в том что нужно Создать класс - одномерный динамический массив целых чисел....

Разработать класс "динамический массив целых чисел" с конструкторами и деструкторами
Динамический одномерный массив целых чисел Базовый класс: Конструкторы: по умолчанию, с...

Класс "Массив длинных целых чисел"
1. Создать класс, содержащий динамический массив конечного размера. Тип массива - Массив длинных...

Класс "Одномерный массив целых чисел"
Создать класс одномерный массив целых чисел. Дополнительно перегрузить следующие операции:...

6
Jesus loves me
Эксперт С++
5162 / 3131 / 353
Регистрация: 12.12.2009
Сообщений: 7,919
Записей в блоге: 2
20.09.2016, 06:51 2
Цитата Сообщение от Lounat1c Посмотреть сообщение
сожержащий динамический массив
В С++ нет динамических массивов, что делать будем?
0
39 / 34 / 10
Регистрация: 31.08.2016
Сообщений: 337
20.09.2016, 08:47 3
контейнеры stl?

Добавлено через 36 минут
C++
1
2
3
4
5
6
7
8
9
class kaka
{
unsigned int* a;
  public:
unsigned int* get(int razm)
  {
     a = new unsigned int[razm];
     return a;
  }
Добавлено через 25 минут

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
int _tmain(int argc, _TCHAR* argv[])
{
kaka bubu;
unsigned int* b = bubu.getz(2);
b[0] = 15434;
b[1] = 64685;
cout<<b[0]<<endl;
cout<<b[1]<<endl;
 
delete [] b;
b = NULL;
system("pause");
 
    return 0;
}
1
251 / 157 / 118
Регистрация: 26.11.2012
Сообщений: 384
20.09.2016, 09:47 4
Вы это имели в виду?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
#include <iostream>
#include <cstring>
 
class MyArray{
public:
    MyArray();
    MyArray(int*,const size_t);
    ~MyArray();
    
    int& operator [](const int);
    int operator [](const int) const;
    
    size_t getSize()const;
    void resize(const size_t);
private:  
    size_t size;
    int *arr;
};
 
MyArray::MyArray(): size(0), arr(nullptr){};
 
MyArray::MyArray(int *a,const size_t s): size(s){
    if(s > 0){
        arr = new int[s];
        for(size_t i = 0; i < s; i++) arr[i] = a[i];
    }
    else
        arr = nullptr;
}
 
MyArray::~MyArray(){
    delete[] arr;
    size = 0;
}
 
int& MyArray::operator [](const int index){
    return arr[index];
}
int MyArray::operator [](const int index) const{
    return arr[index];
}
    
    
size_t MyArray::getSize()const{
    return size;
}
void  MyArray::resize(const size_t newSize){
    int * b = new int[newSize];
    memset(b, 0, sizeof(int) * newSize);
    
        for(size_t i = 0; i < ((size < newSize)? size:newSize); i++) b[i] = arr[i];
    
    delete[] arr;
    
    size = newSize;
    arr = b;
}
    
int main()
{
    int x = 20;
    int *a = new int[x];
    for(int i = 0; i < x; i++) a[i] = i;
    MyArray b(a, x);
   
    for(int i = 0 ; i < b.getSize(); i++)
        std::cout << b[i] << ' ';
    std::cout << std::endl;
    
    b.resize(10);
    for(int i = 0 ; i < b.getSize(); i++)
        std::cout << b[i] << ' ';
    std::cout << std::endl;
    
    b.resize(50);
    for(int i = 0; i < b.getSize(); i++)
        std::cout << b[i] << ' ';
    std::cout << std::endl;
    
   return 0;
}
1
zss
20.09.2016, 09:58
  #5
 Комментарий модератора 
Lounat1c,
Как запостить тему, чтобы не получить ответ
0
670 / 286 / 99
Регистрация: 04.07.2014
Сообщений: 803
20.09.2016, 11:23 6
Apostol584, А правило трёх/пяти кто будет соблюдать? Задание явно на его знание!
1
251 / 157 / 118
Регистрация: 26.11.2012
Сообщений: 384
20.09.2016, 12:00 7
Лучший ответ Сообщение было отмечено Lounat1c как решение

Решение

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
#include <iostream>
#include <cstring>
 
class MyArray{
public:
    MyArray();
    MyArray(unsigned int*,const size_t);
    MyArray(const MyArray&);
    MyArray(MyArray&&);
    ~MyArray();
    
    unsigned int& operator [] (const int);
    unsigned int operator [] (const int) const;
    
    
    MyArray& operator = (MyArray&&);
    MyArray& operator = (const MyArray&);
    
    size_t getSize()const;
    void resize(const size_t);
private:  
    size_t size;
    unsigned int *arr;
};
 
MyArray::MyArray(): size(0), arr(nullptr){};
 
MyArray::MyArray(const MyArray& other){
    arr = new unsigned int[other.size];
    for(size_t i = 0; i < other.size; i++) arr[i] = other.arr[i];
    size = other.size;
};
 
MyArray::MyArray(MyArray&& other): size(other.size), arr(other.arr){
    other.arr = nullptr;
    other.size = 0;
};
 
MyArray::MyArray(unsigned int *a,const size_t s): size(s){
    if(s > 0){
        arr = new unsigned int[s];
        for(size_t i = 0; i < s; i++) arr[i] = a[i];
    }
    else
        arr = nullptr;
}
 
MyArray::~MyArray(){
    if(arr)
       delete[] arr;
}
 
unsigned int& MyArray::operator [] (const int index){
    return arr[index];
}
 
unsigned int MyArray::operator [] (const int index) const{
    return arr[index];
}
    
MyArray& MyArray::operator = (MyArray&& other){
    if (this != &other){
        delete []arr;
        arr = other.arr;
        size = other.size;
    }
    return *this;
}
 
MyArray& MyArray::operator = (const MyArray& other){
    if(this != &other){
        delete []arr;
        arr = new unsigned int[other.size];
        for(size_t i = 0; i < other.size; i++) arr[i] = other.arr[i];
        size = other.size;
    }
    return *this;
}
    
size_t MyArray::getSize()const{
    return size;
}
 
void  MyArray::resize(const size_t newSize){
    unsigned int * b = new unsigned int[newSize];
    memset(b, 0, sizeof(unsigned int) * newSize);
    
        for(size_t i = 0; i < ((size < newSize)? size:newSize); i++) b[i] = arr[i];
    
    delete[] arr;
    
    size = newSize;
    arr = b;
}
    
int main()
{
    int x = 20;
    unsigned int *a = new unsigned int[x];
    unsigned int *b = new unsigned int[x];
    for(int i = 0; i < x; i++) a[i] = i;
    for(int i = 0; i < x; i++) b[i] = i * 11;
    
    MyArray A(a, x);
    MyArray B(b, x);
   
    std::cout << "A = ";
    for(int i = 0 ; i < A.getSize(); i++)
        std::cout << A[i] << ' ';
    
    std::cout << std::endl << "B = ";
    for(int i = 0 ; i < B.getSize(); i++)
        std::cout << B[i] << ' ';
    
    
    std::cout << std::endl << "resize" << std::endl;
    A.resize(10);
    
    std::cout << "A(10) = ";
    for(int i = 0 ; i < A.getSize(); i++)
        std::cout << A[i] << ' ';
    std::cout << std::endl;
    A.resize(50);
    std::cout << "A(50) = ";
    for(int i = 0 ; i < A.getSize(); i++)
        std::cout << A[i] << ' ';
    std::cout << std::endl;
    std::cout << std::endl << "A = B" << std::endl;
    
    A = B;
    
    std::cout << "A = ";
    for(int i = 0 ; i < A.getSize(); i++)
        std::cout << A[i] << ' ';
    
    std::cout << std::endl << "B = ";
    for(int i = 0 ; i < B.getSize(); i++)
        std::cout << B[i] << ' ';
 
   return 0;
}
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
20.09.2016, 12:00

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.

Разработать класс "Массив больших чисел", который состоит из объектов класса "Большие целые числа". Найти сумму элементов массива.
Разработать класс &quot;Массив больших чисел&quot;, который состоит из объектов класса &quot;Большие целые числа&quot;....

Реализовать класс родительский класс "Пара чисел" и класс-наследник "Комплексное число"
Ткма работы создать класс pair (пара чисел); определить метод перемножения полей и операцию...

Разработать класс "множество целых чисел из заданного диапазона"
Примечание: Класс должен содержать конструктор по умолчанию, конструктор с параметрами,...

Класс "Матрица 3x3 целых чисел", перегрузки
Прошу помочь разобраться с кодом, завтра сдавать лабу. Данные класса: массив элементов матрицы....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.