On-line: Andrey, Pasha, SergKis, гостей 0. Всего: 3 [подробнее..]
АвторСообщение
постоянный участник




Пост N: 2445
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 02.12.12 02:02. Заголовок: Подскажите алгоритм заполнения таблицы.....


Всем привет. Как обычно в конце недели голова совсем перестает работать...
Имеется массив типа:
Скрытый текст


Подскажите ПОЖАЛУЙСТА алгоритм печати по 12 столбцов, т.е. нужно сделать ВОТ такой массив :
{495, 1,2,3,4,5,6,7,8,10,12,37,53}
{495,56 }
{530,135,161}
{492,37}
{459,69,88,100, 102,110}




Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 9 [только новые]





Не зарегистрирован
Зарегистрирован: 01.01.70
ссылка на сообщение  Отправлено: 02.12.12 03:20. Заголовок: aDim:=asort(aDim,,,{..


aDim:=asort(aDim,,,{|x,y| x[1]<=y[1]})
bDIm:={}
for i=1 to len(aDim)
a:=aDim[i,1]
b:=aDim[i,2]
n:=ascan(bDim,{|x| x[1]=a})
if n=0
aadd(bDim,{a})
n:=len(bDim)
endif
if len(bDim[n])>=13
AADD(bDim,{a})
n:=len(bDim)
endif
AADD(bDim[n],b)
next i

Спасибо: 0 
Цитата Ответить
постоянный участник




Пост N: 2446
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 02.12.12 11:10. Заголовок: Не работает... Исход..


Не работает...
Исходник здесь.
Скрытый текст


Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 1123
Зарегистрирован: 09.10.06
ссылка на сообщение  Отправлено: 02.12.12 13:34. Заголовок: Очень нравилось рабо..


Очень нравилось работать с hash

FUNCTION MAIN()
LOCAL hDim := {=>}, e1, e2

_AADD(hDim,{495, 1})
_AADD(hDim,{495, 2})
_AADD(hDim,{495, 3})
_AADD(hDim,{495, 4})
_AADD(hDim,{495, 5})
_AADD(hDim,{495, 6})
_AADD(hDim,{495, 7})
_AADD(hDim,{495, 8})
_AADD(hDim,{495, 10})
_AADD(hDim,{495, 12})
_AADD(hDim,{495, 37})
_AADD(hDim,{495, 53})
_AADD(hDim,{495, 56})
_AADD(hDim,{530, 135})
_AADD(hDim,{530, 161})
_AADD(hDim,{492, 37})
_AADD(hDim,{459, 69})
_AADD(hDim,{459, 88})
_AADD(hDim,{459, 100})
_AADD(hDim,{459, 102})
_AADD(hDim,{459, 110})

CLEAR SCREEN

FOR EACH e1 IN hDim ; ? e1:__enumKey()
FOR EACH e2 IN e1:__enumValue() ; ?? e2
IF e2:__enumIndex%12 == 0
? e1:__enumKey()
ENDIF
NEXT
NEXT

WAIT

RETURN 0


PROCEDURE _AADD( aHash, aPair )

#define _KEY 1
#define _VALUE 2

IF ! hb_hHaskey( aHash, aPair[_KEY] )
aHash[aPair[_KEY]] := {}
ENDIF

AADD( aHash[aPair[_KEY]], aPair[_VALUE] )

#undef _KEY
#undef _VALUE


Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 2447
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 02.12.12 14:11. Заголовок: Петр пишет: Очень н..


Петр пишет:

 цитата:
Очень нравилось работать с hash


Ни разу не работал, кроме ини-файлов... Смотрю и ничего не понимаю...
Под Харбором работает, а хХарбор не работает:
Error BASE/1005 Class: 'HASHENTRY' has no property: _ENUMKEY Arguments: ( [ 1]
= Type: O Val: { HASHENTRY Object })

Error at ...: MAIN(29) in Module:
Called from : MAIN(29) in Module: dim_test2.prg


Строка 29:
FOR EACH e1 IN hDim ; ? e1:__enumKey()


Функцию hb_hHaskey() переименовал для хХарбора в hHaskey()

Спасибо: 0 
ПрофильЦитата Ответить
Администратор




Пост N: 2573
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 02.12.12 15:59. Заголовок: У меня еще в прошлом..


У меня еще в прошлом веке, во времена клиппера, было несколько функций для работы с массивами. Во времена харбора я их переписал на С, принципы у них примерно такие, как для хеш.
Так их до сих пор их и использую, не стал переделывать свой код под хеш, так привычнее. Наверное, предложу их в репозитарий харбора, не в rtl, так хотя бы в hbmisc. Может быть, кому-нибудь они пригодятся.


Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 1124
Зарегистрирован: 09.10.06
ссылка на сообщение  Отправлено: 02.12.12 16:41. Заголовок: Andrey пишет: Функц..


Andrey пишет:

 цитата:
Функцию hb_hHaskey() переименовал для хХарбора в hHaskey()


Сказали А, говорите и Б

FOR EACH e1 IN hDim
? e1:Key
FOR EACH e2 IN e1:Value
?? e2
IF hb_enumIndex()%12 == 0
? e1:Key
ENDIF
NEXT
NEXT

Где-то так, у меня нет xhb..

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 1125
Зарегистрирован: 09.10.06
ссылка на сообщение  Отправлено: 02.12.12 16:46. Заголовок: Pasha пишет: предло..


Pasha пишет:

 цитата:
предложу их в репозитарий харбора


В SVN или уже в GIT ?

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 2448
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 02.12.12 20:17. Заголовок: Петр пишет: Сказали..


Петр пишет:

 цитата:
Сказали А, говорите и Б



Спасибо БОЛЬШОЕ !

Спасибо: 0 
ПрофильЦитата Ответить
Администратор




Пост N: 2574
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 02.12.12 22:38. Заголовок: Петр пишет: В SVN и..


Петр пишет:

 цитата:
В SVN или уже в GIT ?



Пока SVN, на GIT вроде будут переходить после следующего релиза

Спасибо: 0 
ПрофильЦитата Ответить
Ответ:
1 2 3 4 5 6 7 8 9
большой шрифт малый шрифт надстрочный подстрочный заголовок большой заголовок видео с youtube.com картинка из интернета картинка с компьютера ссылка файл с компьютера русская клавиатура транслитератор  цитата  кавычки моноширинный шрифт моноширинный шрифт горизонтальная линия отступ точка LI бегущая строка оффтопик свернутый текст

показывать это сообщение только модераторам
не делать ссылки активными
Имя, пароль:      зарегистрироваться    
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 240
Права: смайлы да, картинки да, шрифты да, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет