0 / 0 / 1
Регистрация: 24.02.2014
Сообщений: 59

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

23.12.2015, 21:59. Показов 1104. Ответов 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
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
23.12.2015, 21:59
Ответы с готовыми решениями:

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

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

Необходимо реализовать структуру для хранения данных в виде бинарного дерева
Ассоциативный массив должен храниться в виде бинарного дерева

5
Неэпический
 Аватар для Croessmah
18131 / 10715 / 2064
Регистрация: 27.09.2012
Сообщений: 27,009
Записей в блоге: 1
23.12.2015, 22:10
zss, я ж говорил, что всё серьезно )))

oleum, и кто именно умрет?
0
0 / 0 / 1
Регистрация: 24.02.2014
Сообщений: 59
23.12.2015, 22:18  [ТС]
сможете помочь?
0
Модератор
Эксперт С++
 Аватар для zss
13761 / 10957 / 6488
Регистрация: 18.12.2011
Сообщений: 29,219
24.12.2015, 08:37
Это Вам подарок от Структура для хранения массива произвольного типа с использованием шаблонов
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
261 / 209 / 99
Регистрация: 13.12.2015
Сообщений: 1,098
24.12.2015, 08:49
Сегодня вам нужно реализовать структуру для хранения массива
это команда местным? ))
надо два раздела на форуме сделать:
1. С++ для начинающих (изучаю, но не получается что-то или есть вопросы)
и
2. С++(по моему велению - "программа пишись")
1
0 / 0 / 1
Регистрация: 24.02.2014
Сообщений: 59
27.12.2015, 23:05  [ТС]
Спасибо)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
27.12.2015, 23:05
Помогаю со студенческими работами здесь

Реализовать структуру данных для хранения координат прямоугольника
Ребята, помогите... Зачет по ОПП. Задание - реализовать структуру данных для хранения координат прямоугольника и вычисления его сторон....

Построить структуру данных для хранения слов в виде двумерного массива
Помогите пожалуйста сделать лабораторную. Очень надеюсь на вашу помощь. я в этом нуб. 1.Построить структуру данных для хранения слов в...

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

Сортировка массива произвольного типа
Помогите разобраться! зачем swap и memswap для сортировки в этой программе inline void swap(char&amp; a, char&amp; b)// Обмениваем...

Описать структуру для хранения информации
1. Описать структуру для хранения следующей информации: - название продукции - стоимость за единицу - количество - дата...


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

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

Новые блоги и статьи
Пишем адаптер для локального хранилища S3 на C#
stackOverflow 16.07.2025
Разработка современных приложений часто требует интеграции с объектными хранилищами, и Amazon S3 стал де-факто стандартом в этой области. Однако работа с облачными сервисами в процессе разработки. . .
Старые замки
kumehtar 16.07.2025
Смотрел тут фото, попались пара старых замков. И сразу бросилось в глаза из отличие. Например: Замок Бистон, в англии. Разрушенное сооружение. Но - не испорченное людьми, по крайней мере - на. . .
Java и Eclipse Store: Сверхбыстрые приложения с In-Memory DB
Javaican 15.07.2025
Eclipse Store — это микро-движок персистентности для Java, который позволяет хранить и извлекать нативные Java-объекты без необходимости преобразования данных или использования объектно-реляционного. . .
EmBitz, создание проекта, отладка, прошивка
locm 15.07.2025
Создание проекта для Blue Pill (STM32F103C8T6) в EmBitz 2. 30, написания кода blink, запуск отладки в ОЗУ, заливка релизной прошивки во flash используя ST-Link и др. . . .
Трассировка корутин Kotlin с OpenTelemetry
mobDevWorks 14.07.2025
Асинхронное программирование меняет правила игры, особенно когда речь заходит о трассировке операций. В Kotlin с его корутинами эта проблема приобретает особый оттенок, который я хотел бы детально. . .
Облачные приложения на Rust: руководство по архитектуре микросервисов
golander 13.07.2025
Когда я впервые взялся за проектирование облачной платформы для одного из наших клиентов, выбор стоял между привычными Go и Java. Но после нескольких месяцев разработки микросервисной системы,. . .
Как Node.js выполняет асинхронные операции
Reangularity 13.07.2025
Каждый раз, когда я рассказываю про Node. js, возникает один и тот же вопрос: "Как эта штука может быть быстрой, если JavaScript — однопоточный язык?" И это действительно кажется парадоксом. Ведь в. . .
Как писать чистый, тестируемый и качественный код на Python
py-thonny 12.07.2025
Помню свой первый проект на Python. Работал тогда быстро, грязно, лишь бы работало. Код был похож на запутанный клубок - переменные по одной букве, функции на 200 строк, комментарии отсутствовали как. . .
Blazor и контроллер сервопривода IoT Meadow Maple
Wired 11.07.2025
Я решил разобраться, как можно соединить современные веб-технологии с миром "железа". Интересная комбинация получилась из Blazor в качестве веб-интерфейса и микроконтроллера Meadow с его веб-сервером. . .
Генерация OpenQASM из кода Q#
EggHead 10.07.2025
Летом 2024-го я начал эксперименты с библиотекой Q# Bridge, и знаете что? Она оказалась просто находкой для тех, кто работает на стыке разных квантовых экосистем. Основная фишка этой библиотеки -. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru