![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| centab |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 8 Регистрация: 22.4.2006 Репутация: нет Всего: нет |
Задание такое:
Написать шаблон функции для печати значений элементов массива в виде таблицы. В заголовке таблицы печатать название типа элементов массива. Каким образом можно определить название типа? |
|||
|
||||
| DeadSoul |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1217 Регистрация: 25.9.2005 Где: Москва Репутация: 2 Всего: 11 |
type_info
-------------------- Если Вы получили ответ на Ваш вопрос, то нажмите на "Вопрос решен". Бьем спамеров их же оружием. Пусть весь спам сыпется им [email protected] |
|||
|
||||
| LPBOY |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 228 Регистрация: 12.7.2005 Репутация: 20 Всего: 20 |
Попробуй
Но не каждый компилятор выдает осмысленное название типа. --------------------
Каждый человек по-своему прав, а по-моему нет... |
|||
|
||||
| MAKCim |
|
||||||
![]() Воін дZэна ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5644 Регистрация: 10.12.2005 Где: Менск, РБ Репутация: 52 Всего: 207 |
если типы заранее известны можно попробовать
std::map<unsigned int, std::string> вместе со списком типов (см. Александреску) что-то типа
у меня в g++ таким образом получаются очень неосмысленные названия -------------------- Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі © |
||||||
|
|||||||
| LPBOY |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 228 Регистрация: 12.7.2005 Репутация: 20 Всего: 20 |
Класс! Лабораторка на уровне "вывести элементы массива на экран". Я представляю лицо его препода, когда ему покажут решение со списками типов... ;) Я думаю, тот кто составлял это задание имел в виду именно typeid(T).name(). PS Зачем тут вообще списки типов? Разве не проще в качестве ключа использовать строку которую вернет typeid(T).raw_name()? --------------------
Каждый человек по-своему прав, а по-моему нет... |
|||
|
||||
| MAKCim |
|
||||
![]() Воін дZэна ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5644 Регистрация: 10.12.2005 Где: Менск, РБ Репутация: 52 Всего: 207 |
по причине неосмысленности в большинстве случаев результата typeid(T).name() если устраивает то пожалуйста, конечно так проще
-------------------- Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі © |
||||
|
|||||
| DeadSoul |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1217 Регистрация: 25.9.2005 Где: Москва Репутация: 2 Всего: 11 |
Вряд ли хороший раз дал такое задание. Гарантировано вывести название типа невозможно. -------------------- Если Вы получили ответ на Ваш вопрос, то нажмите на "Вопрос решен". Бьем спамеров их же оружием. Пусть весь спам сыпется им [email protected] |
|||
|
||||
| centab |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 8 Регистрация: 22.4.2006 Репутация: нет Всего: нет |
препод: Подбельски В.В. Может знаете? http://www.my-shop.ru/shop/books/14980.html
а полное задание таково: Задание 7. Шаблоны функций Написать шаблоны функций: 1. Для создания одномерного массива с заданным типом элементов. Количество элементов определяет единственный параметр функции, тип элементов задает параметр шаблона. 2. Для генерации псевдослучайных чисел в заданном диапазоне [Xmin, Xmax]. Тип Xmin, Xmax определяет тип формируемого числа. При каждом обращении шаблонная функция возвращает очередное псевдослучайное число. 3. Для формирования по двум одномерным массивам А и В третьего массива С, элементы которого имеют свойства, соответствующие Вашему индивидуальному заданию. 4. Для печати значений элементов массива в виде таблицы. В заголовке таблицы печатать название типа элементов массива. Для вещественных (не целых) значений выводить два знака после запятой. В основной программе ввести: размеры (nA, nB) массивов А[nA], В[nB] и предельные значения их элементов (Xmin, Xmax). Используя шаблонные функции, создать массивы А и В, присвоить псевдослучайные значения их элементам. Напечатать массивы. Сформировать в соответствии с индивидуальным заданием массив С и напечатать его. С помощью подбора исходных данных (nA, nB, Xmin, Xmax) добейтесь, чтобы массив С не был пуст. Решить основную задачу для массивов (их элементов) двух разных типов. При необходимости проверять четность, приводить вещественные числа к типу int. Если необходимо сравнивать вещественные числа на равенство, то выполнять сравнение только целых частей. Массив С, построенный на основе массива А и В, содержит повторяющиеся элементы массива А, которых нет в массиве В. |
|||
|
||||
| LPBOY |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 228 Регистрация: 12.7.2005 Репутация: 20 Всего: 20 |
Любопытно. А это ты к чему? Затруднения? --------------------
Каждый человек по-своему прав, а по-моему нет... |
|||
|
||||
| centab |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 8 Регистрация: 22.4.2006 Репутация: нет Всего: нет |
Не, затруднение ток в определинии типа. аи так всё понятно. Спб.
|
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |