Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
oleum
0 / 0 / 1
Регистрация: 24.02.2014
Сообщений: 59
#1

Реализовать структуру для хранения массива произвольного типа с помощью шаблонов - C++

23.12.2015, 21:59. Просмотров 300. Ответов 5
Метки нет (Все метки)

Помогите пожалуйста, как реализовать структуру??
Сегодня вам нужно реализовать структуру для хранения массива произвольного типа с
помощью шаблонов. Для тестирования вашей структуры воспользуйтесь следующей программой:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
template<class T>
void print(const Array<T> a)
{
for(size_t i=0; i < a.getSize(); ++i)
cout << a.at(i) << " ";
cout << endl;
}
int main()
{
const int a[] = {1, 2, 3};
int b[] = {5, 6, 7, 8, 9};
double d[] = {3.14, 2.72};
const Array<int> arr1(a, sizeof(a) / sizeof(a[0]));
print(arr1); // 1 2 3
Array<int> arr2(arr1);
print(arr2); // 1 2 3
const Array<int> arr3(b, sizeof(b) / sizeof(b[0]));
arr2 = arr3;
print(arr2); // 5 6 7 8 9
Array<double> darr(d, 2);
darr = darr;
print(darr); // 3.14 2.72
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.12.2015, 21:59
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Реализовать структуру для хранения массива произвольного типа с помощью шаблонов (C++):

Структура для хранения массива произвольного типа с использованием шаблонов
Здравствуйте. Помогите, пожалуйста, разобраться с кодом программы. Необходимо...

Собственная реализация контейнера для хранения значений произвольного типа
Дали следующее задание. Не совсем понимаю с чего начинать и как дальше быть....

Сортировка массива произвольного типа
Помогите разобраться! зачем swap и memswap для сортировки в этой программе ...

Описать структуру для хранения следующей информации
Нужно срочно написать, а не выходит(((( Описать структуру для хранения...

Определите структуру Complex для хранения комплексных чисел
Я чего-то совсем запутался, может кто поможет. =определить типы и функции в...

Определите структуру Complex для хранения комплексных чисел
Условия задачи: Определите структуру Complex для хранения комплексных чисел:...

5
Croessmah
++Ͻ
14163 / 8088 / 1514
Регистрация: 27.09.2012
Сообщений: 19,937
Записей в блоге: 3
Завершенные тесты: 1
23.12.2015, 22:10 #2
zss, я ж говорил, что всё серьезно )))

oleum, и кто именно умрет?
0
oleum
0 / 0 / 1
Регистрация: 24.02.2014
Сообщений: 59
23.12.2015, 22:18  [ТС] #3
сможете помочь?
0
zss
Модератор
Эксперт С++
6960 / 6522 / 4139
Регистрация: 18.12.2011
Сообщений: 17,209
Завершенные тесты: 1
24.12.2015, 08:37 #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
#include <iostream>
#include <cmath>
using namespace std;
 
template<class T>
struct Array 
{
   Array(T *a, size_t n) : size(n)
    {
        data = new T[n];
        for(size_t i = 0; i < n; ++i) 
            data[i] = a[i];
    }
   // копиконструктор
    Array(Array& a) : size(a.size)
    {
        data = new T[a.size];
        for(size_t i = 0; i < size; ++i) 
            data[i] = a.data[i];    
    }
    
    ~Array()
    {
        delete[] data;
    }
    
    T at(size_t i)
    {
        return data[i];
    }
    size_t getSize(){return size;} 
    // правило трех: копиконструктор, деструктор, operator=
    Array& operator=(Array& a)
    {
        if(this!=&a)
        {
            delete[] data;
            size=a.size;
            data = new T[a.size];
            for(size_t i = 0; i < size; ++i) 
                data[i] = a.data[i];    
        }
        return *this;
    }
    
private:    
    T *data;
    size_t size; 
};
 
template<class T>
void print(Array<T> &a)
{
    for(size_t i=0; i < a.getSize(); ++i)
        cout << a.at(i) << " ";
    cout << endl;
}
 
int main()
{
    int a[] = {1, 2, 3};
    int b[] = {5, 6, 7, 8, 9};
    double d[] = {3.14, 2.72};
    
    Array<int> arr1(a, sizeof(a) / sizeof(int));
    print(arr1); // 1 2 3
    
    Array<int> arr2(arr1);
    print(arr2); // 1 2 3
    
    Array<int> arr3(b, sizeof(b) / sizeof(int));
    arr2 = arr3;
    print(arr2); // 5 6 7 8 9
    
    Array<double> darr(d, 2);
    darr = darr;
    print(darr); // 3.14 2.72
    system("pause");
    return 0;
}
1
SergioO
168 / 184 / 90
Регистрация: 13.12.2015
Сообщений: 995
24.12.2015, 08:49 #5
Сегодня вам нужно реализовать структуру для хранения массива
это команда местным? ))
надо два раздела на форуме сделать:
1. С++ для начинающих (изучаю, но не получается что-то или есть вопросы)
и
2. С++(по моему велению - "программа пишись")
1
oleum
0 / 0 / 1
Регистрация: 24.02.2014
Сообщений: 59
27.12.2015, 23:05  [ТС] #6
Спасибо)
0
27.12.2015, 23:05
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.12.2015, 23:05
Привет! Вот еще темы с решениями:

Определите структуру Complex для хранения комплексных чисел
Не могу осилить задание, помогите! Определите структуру Complex для хранения...

Определите структуру Complex для хранения комплексных чисел
Помоги пожалуйста не могу разобраться. Нужно определить типы и функции и в...

Создать структуру для хранения информации о матрице переменных размерностей
помогите, пожалуйста, разобраться с заданием создать структуру для хранения...

Разработать объектную структуру для хранения информации о зачетной книжке
Разработать объектную структуру для хранения информации в зачетнойкнижке,а...


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

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

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