![]() |
1. Пользуйтесь тегами кода. - [code] ... [/code]
2. Точно указывайте язык, название и версию компилятора (интерпретатора).
3. Название темы должно быть информативным.
В описании темы указываем язык!!!
![]() ![]() |
![]() |
klem4 |
![]()
Сообщение
#1
|
![]() Perl. Just code it! ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 100 Пол: Мужской Реальное имя: Андрей Репутация: ![]() ![]() ![]() |
Есть хедер type.h, вот его содержимое :
//Структуры для хранения данных и ключей в массиве Вот то что написано в методичке (как надо работать с этим хэдером) Цитата Первые два этапа выполняются на небольшом массиве, задаваемом программно в наиболее общем случае так : Record <тип ключа, тип данных> ИмяМ%u Сообщение отредактировано: volvo - 3.11.2006 12:08 Прикрепленные файлы ![]() -------------------- perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
|
volvo |
![]()
Сообщение
#2
|
Гость ![]() |
klem, у тебя в хидере ошибка
![]() вот так пиши в CPP: #define _NUMBER А в хидере одна запятая не на своем месте ![]() |
klem4 |
![]()
Сообщение
#3
|
![]() Perl. Just code it! ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 100 Пол: Мужской Реальное имя: Андрей Репутация: ![]() ![]() ![]() |
![]() ![]() ![]() -------------------- perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
|
klem4 |
![]()
Сообщение
#4
|
![]() Perl. Just code it! ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 100 Пол: Мужской Реальное имя: Андрей Репутация: ![]() ![]() ![]() |
Помогите пожалуйста написать шаблон для вывода массивов, ковырялся, эксперементировал, но так ничего и не получилось ...
На сколько я понял, чтобы совершать какие-лиюо операции с переменно типа Record, их сначала нужно переопределить... ? И еще вопрос Из type.h : Цитата int operator > ( Record & b) {return key > b.key;} .b - это вообще от куда взялось ? -------------------- perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
|
volvo |
![]()
Сообщение
#5
|
Гость ![]() |
Цитата .b - это вообще от куда взялось ? Формальный параметр? (Кстати, этот оператор надо бы перегружать вот так: Цитата int operator > (const Record &b) {return key > b.key;} - на всякий случай, чтобы объект по ссылке ни в коем случае не изменился, а то знаем мы этих любознательных экспериментаторов... ![]() Хм... Шаблон для вывода массивов... Переопределяй для начала операцию вывода в ostream для Record-а: // В любом месте ПОСЛЕ описания struct Record { ... } P.S. На MinGW точно работает - проверил... Не уверен, что TC++ сможет это проглотить... |
klem4 |
![]()
Сообщение
#6
|
![]() Perl. Just code it! ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 100 Пол: Мужской Реальное имя: Андрей Репутация: ![]() ![]() ![]() |
Спасибо, TC ++ пишет illegal structure operation .. Щас попробую на MinGW, правда там у меня какие-то другие проблемы были ... щас посмотрю.
-------------------- perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
|
klem4 |
![]()
Сообщение
#7
|
![]() Perl. Just code it! ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 100 Пол: Мужской Реальное имя: Андрей Репутация: ![]() ![]() ![]() |
В общем для массивов int и unsigned int все прошло гладко, а вот для массива строк ругается на type.h ... Помогите чем можите ;(
# define _CHAR_PTR type.h //Структуры для хранения данных и ключей в массиве Сообщение отредактировано: volvo - 3.11.2006 12:10 -------------------- perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
|
klem4 |
![]()
Сообщение
#8
|
![]() Perl. Just code it! ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 100 Пол: Мужской Реальное имя: Андрей Репутация: ![]() ![]() ![]() |
Тек-с ... вроде вопрос снят, методом научного тыка - добавлением недостающий точек с запятой и скобок type.h - исправлен.
-------------------- perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
|
volvo |
![]()
Сообщение
#9
|
Гость ![]() |
Исправляй вот тут (TYPE.H):
# elif defined _CHAR_PTR // ключ - строка Си После этого все компилируется, правильность работы не проверял... |
klem4 |
![]()
Сообщение
#10
|
![]() Perl. Just code it! ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 100 Пол: Мужской Реальное имя: Андрей Репутация: ![]() ![]() ![]() |
Решил немного разобраться с этими шаблонами, как там и что. Написал упрощенную версию того что мне нужно, только вот в MinGW это компилируется и отрабатывает без ошибок (видимых по карйней мере), а вот TC++ это компилить не хочет, у меня указывает на ф-ю Sort и говорит что Undefined structure 'array<type>'. Как заставить это пахать на TC++ ? И у кого есть возможность,. попробуйте пожалуйста запустить это на билдере и/или VC++.
# include <iostream.h> -------------------- perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
|
volvo |
![]()
Сообщение
#11
|
Гость ![]() |
ТС спокойно отрабатывает (c int-ом, для char * нужно другое определение операций равенства - специальное определение шаблонного класса. Показать, как? ):
# include <iostream.h> ICC 8.0 работает с первым вариантом так же, как и со вторым... Остальных компилеров нету ![]() P.S. все-таки, Swap лучше наверное делать со ссылками, а не с указателями... |
klem4 |
![]()
Сообщение
#12
|
![]() Perl. Just code it! ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 100 Пол: Мужской Реальное имя: Андрей Репутация: ![]() ![]() ![]() |
Цитата специальное определение шаблонного класса. Показать, как? ): Ээ, если я ничего не пропустил, покажи .. вроде строки нормально сравнивает .. Цитата P.S. все-таки, Swap лучше наверное делать со ссылками, а не с указателями... И вот это тоже ![]() -------------------- perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
|
volvo |
![]()
Сообщение
#13
|
Гость ![]() |
Цитата(klem4 @ 12.03.2006 21:45) вроде строки нормально сравнивает .. abc Как-то не очень по алфавиту, тебе не кажется? Цитата(klem4 @ 12.03.2006 21:45) И вот это тоже ![]() template <class type> |
klem4 |
![]()
Сообщение
#14
|
![]() Perl. Just code it! ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 100 Пол: Мужской Реальное имя: Андрей Репутация: ![]() ![]() ![]() |
Ну да, я посмотрел что у гения препода в файле, так он для переопределения операция для разныех типов использовал define-ы, а на сколько я понял можно(и нужно) как -то сделать без них ? Буду благодарен если объяснишь как, сегодня буду Подельского на лекциях читать
![]() -------------------- perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
|
volvo |
![]()
Сообщение
#15
|
Гость ![]() |
Смотри:
# include <iostream.h> Ну, и как? Нужны define-ы ? Или все-таки так проще понять? ![]() |
klem4 |
![]()
Сообщение
#16
|
![]() Perl. Just code it! ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 100 Пол: Мужской Реальное имя: Андрей Репутация: ![]() ![]() ![]() |
Спасибо !
-------------------- perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
|
![]() ![]() |
![]() |
Текстовая версия | 3.07.2024 5:59 |