ASCANNA — различия между версиями
Материал из Фабиус wiki
Hisava (обсуждение | вклад) м |
Hisava (обсуждение | вклад) м |
||
Строка 1: | Строка 1: | ||
[[ASCANNA]] - это программа из справочника [[R266]] | [[ASCANNA]] - это программа из справочника [[R266]] | ||
[[ASCAN]] по выбранному измерению многомерного массива. (!) Возвращает МАССИВ индексов, найденных совпадений | [[ASCAN]] по выбранному измерению многомерного массива. (!) Возвращает МАССИВ индексов, найденных совпадений | ||
+ | [[ASCANNA]]( Массив, значение, измерение по которому искать ) | ||
+ | = Текст = | ||
+ | // [[ASCANNA]](arr, cmp, [nn] ) | ||
+ | |||
+ | // (!) Возвращает МАССИВ индексов, найденных совпадений | ||
+ | |||
+ | parameters arr, cmp, nn:=1 | ||
+ | |||
+ | if [[Empty]](arr); return(0); end | ||
+ | |||
+ | local ii, imax:=Len(arr), is_blk:=Valtype(cmp)='B' | ||
+ | result:={} | ||
+ | |||
+ | for ii:=1 to imax | ||
+ | if is_blk | ||
+ | if Eval(cmp,arr[ii,nn],ii); AADD(result,ii); end | ||
+ | else | ||
+ | if arr[ii,nn] == cmp; AADD(result,ii); end | ||
+ | endif | ||
+ | next | ||
= Смотрите также = | = Смотрите также = | ||
[[Полезные функции]] | [[Полезные функции]] | ||
[[Функции Delphi]] | [[Функции Delphi]] |
Версия 09:18, 20 октября 2017
ASCANNA - это программа из справочника R266
ASCAN по выбранному измерению многомерного массива. (!) Возвращает МАССИВ индексов, найденных совпадений
ASCANNA( Массив, значение, измерение по которому искать )
Текст
// ASCANNA(arr, cmp, [nn] ) // (!) Возвращает МАССИВ индексов, найденных совпадений parameters arr, cmp, nn:=1 if Empty(arr); return(0); end local ii, imax:=Len(arr), is_blk:=Valtype(cmp)='B' result:={} for ii:=1 to imax if is_blk if Eval(cmp,arr[ii,nn],ii); AADD(result,ii); end else if arr[ii,nn] == cmp; AADD(result,ii); end endif next