0 / 0 / 0
Регистрация: 29.05.2013
Сообщений: 17
|
||||||
1 | ||||||
Динамический массив элементов произвольного типа08.01.2014, 12:42. Показов 5796. Ответов 15
Метки нет (Все метки)
Доброго времени суток. Будьте так добры, если вас не затруднит, помочь "понимающему дубу" с одной назойливой программкой.
Ниже предоставлю код, что я уже написал (без классов и с изменением элементов): Кликните здесь для просмотра всего текста
Вот как-то так. Прошу знающих откликнуться. Заранее спасибо за хотя бы какое-то толкование (или указание направления).
0
|
08.01.2014, 12:42 | |
Ответы с готовыми решениями:
15
Динамический массив из элементов структурного типа Динамический массив из элементов структурного типа Сформировать динамический массив из элементов структурного типа Сформировать динамический массив из элементов структурного типа |
1500 / 1146 / 165
Регистрация: 05.12.2011
Сообщений: 2,279
|
|
08.01.2014, 13:21 | 2 |
вам нужно написать класс динамического массива. разбирайтесь с классами. напишите хотябы для
одного конкретного типа такой массив. потом уже можно будет с произвольным в шаблон такой класс переделать. на форуме полно таких вопросов и решений тоже.
1
|
0 / 0 / 0
Регистрация: 29.05.2013
Сообщений: 17
|
||||||
09.01.2014, 01:10 [ТС] | 3 | |||||
Спасибо, попробую.
Добавлено через 10 часов 22 минуты Вот, что у меня получилось: Кликните здесь для просмотра всего текста
Я не совсем понял, зачем использовать конструкторы и деструкторы, если они создаются автоматом при компиляции. Так вот, просьба подсказать, что необходимо сделать дальше. И вообще, правильно ли я сделал эту часть. Если нет, то объясните, пожалуйста, что именно нужно изменить.
0
|
107 / 107 / 21
Регистрация: 29.08.2012
Сообщений: 453
|
|
09.01.2014, 01:30 | 4 |
Mehanik511, конструкторы используются для выполнения каких-либо действий при создании объекта. В Вашей программе при создании объекта не выполняется ничего, под него просто выделяется память.
Если размеры известны заранее, то можно написать конструктор с 2 параметрами и в теле конструктора прописать создание массива и заполнение нулями. Это просто пример использования конструктора. Деструкторы используются для освобождения памяти из под объектов.
0
|
0 / 0 / 0
Регистрация: 29.05.2013
Сообщений: 17
|
|
09.01.2014, 01:53 [ТС] | 5 |
И еще, не могли бы вы дать линк с понятным объяснением процесса создания шаблонов. Где не почитаю, сначала понятно, а как перехожу к примерам, то становится все хуже...
Добавлено через 2 минуты Если честно, я это понимаю в теории, но на деле что-то не очень.
0
|
107 / 107 / 21
Регистрация: 29.08.2012
Сообщений: 453
|
||||||
09.01.2014, 02:55 | 6 | |||||
0
|
0 / 0 / 0
Регистрация: 29.05.2013
Сообщений: 17
|
|
09.01.2014, 16:35 [ТС] | 7 |
Неужели нет никого, кто дал бы пояснение по использованию шаблона в моей программе?
0
|
36 / 23 / 10
Регистрация: 14.11.2013
Сообщений: 85
|
||||||
09.01.2014, 17:22 | 8 | |||||
Mehanik511,
0
|
0 / 0 / 0
Регистрация: 29.05.2013
Сообщений: 17
|
|
09.01.2014, 18:57 [ТС] | 9 |
LuxArt,
Прям магия какая-то... А как так же можно сделать, чтобы пользователь сам вводил элементы массива, как в моем случае? И еще, что за "0", "1", "2", "3" мы передаем в Print? Номер элемента? Аналогичный вопрос: как сделать, чтобы все это автоматически выбиралось? Т.е. ввел пользователь в массив (а он у меня двумерный) некоторые целые числа, числа с плав.точкой, символы и строки, а потом при вызове функции Print вывелся весь массив, не зависимо от типа элемента. Я вот больше с этим мучаюсь, нежели с обычным вводом/выводом элементов поочередно. Уже мозг кипит от этого всего. Добавлено через 1 час 13 минут Попробовал сейчас сделать не двумерный, а простой массив с шаблонами. Все вроде нормально, но когда пытаюсь сделать из него динамический, то вся работа накрывается. Как можно осуществить создание хотя бы одномерного динамического массива через шаблоны?
0
|
107 / 107 / 21
Регистрация: 29.08.2012
Сообщений: 453
|
|
09.01.2014, 19:00 | 10 |
Я так и не понял в чем проблема. Вы хотите чтобы программа сама определяла тип введенных данных и создавала соответствующий массив? Или проблема в самом создании шаблонной функции?
0
|
0 / 0 / 0
Регистрация: 29.05.2013
Сообщений: 17
|
|
09.01.2014, 19:10 [ТС] | 11 |
Да. Проблема скорее в этом, чем в моей криворукости.
Пользователь ввел что-то. Программа определила что это. Подставила необходимый тип. Создался массив (хотя бы одномерный).
0
|
107 / 107 / 21
Регистрация: 29.08.2012
Сообщений: 453
|
|
09.01.2014, 19:16 | 12 |
Я сам над этим долго бился, но до конца так и не решил. Нужно записать в стринг, а потом разобрать по элементам и проверить тип каждого. Этот метод полностью охватывает поставленную задачу. Как сделать такой разбор я так и не придумал и оставил только int и doublе, что в моей программе вполне достаточно. Вот как-то так.
0
|
0 / 0 / 0
Регистрация: 29.05.2013
Сообщений: 17
|
|
09.01.2014, 19:36 [ТС] | 13 |
Так как мне тогда лучше поступить? Допустим, взять одномерный массив, тогда придется в вашу прогу добавить только создание динамического массива, чтоб юзер вводил размер... Хотя тоже как-то не клеется.
А может поговнокодить и запилить выбор для каждого из типов? Кода будет в 4 раза больше... И за такое по голове не погладят. Возникает вопрос: Что делать в данной ситуации?
0
|
107 / 107 / 21
Регистрация: 29.08.2012
Сообщений: 453
|
|
09.01.2014, 21:25 | 14 |
Можно сделать так, чтобы пользователь предварительно вводил тип данных. Но это тоже не торт.
Лучший вариант - это конечно, вариант с разбором строки. Сделайте так, запрашивайте тип данных и размер. И передавайте их в шаблонную функцию. Писать для каждого типа отдельно - это...ну вы знаете)
1
|
0 / 0 / 0
Регистрация: 29.05.2013
Сообщений: 17
|
|
09.01.2014, 23:07 [ТС] | 15 |
Спасибо. Попробую, если получится, то оставлю, а на нет и суда нет, буду говнокодить.
0
|
0 / 0 / 0
Регистрация: 29.05.2013
Сообщений: 17
|
|
13.01.2014, 15:59 [ТС] | 16 |
В общем, "понимающий дуб" растерял все свои "желуди". Ничего у меня не вышло, пришлось наговнокодить 416 строк (9 страниц в Ворде 12 шрифтом Калибри)... Надеюсь, хотя бы тройку поставят, а не заставят переделать. Вот было бы больше времени, может чего и наколдовал бы...
Вот линк на всю работу, может кому-нибудь понадобится и он, не пиная болты, перепишет программу: http://yadi.sk/d/MapuC_oXFxR7B Всем спасибо, все свободны
0
|
13.01.2014, 15:59 | |
13.01.2014, 15:59 | |
Помогаю со студенческими работами здесь
16
Динамический массив произвольного размера Динамический массив типа void Двумерный динамический массив типа char Динамический массив из n чисел типа int. Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |