DIdx: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
No edit summary |
||
(2 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
DIDX (array | DIDX (<[[array name]]>) | ||
The '''DIDX''' [[internal function]] returns an [[array]] that is a descending index obtained from sorting the array named. The array to be sorted may be either string or numeric. Only permitted in the MAT statement. | The '''DIDX''' [[internal function]] returns an [[array]] that is a descending index obtained from sorting the array named. The array to be sorted may be either string or numeric. Only permitted in the MAT statement. |
Latest revision as of 17:14, 22 May 2014
DIDX (<array name>)
The DIDX internal function returns an array that is a descending index obtained from sorting the array named. The array to be sorted may be either string or numeric. Only permitted in the MAT statement.
Note that you cannot use the Mat keyword in the array name parameter of this function.
Correct:
00010 MAT DescendingIndexArray(UDIM(ArrayToBeIndexed$))=AIDX(ArrayToBeIndexed$)
Incorrect:
00010 MAT DescendingIndexArray(UDIM(ArrayToBeIndexed$))=AIDX(MAT ArrayToBeIndexed$)
Comments and Examples
The program below will sort and print an array of names in reverse alphabetical order:
00100 DIM A(100),N$(100) 00110 DATA "Tom", "Colleen", "Bill", "Christi" 00120 DATA "Tim", "Dave", "Sheila", "Jenni" 00130 DATA "Pam", "Laura", "Jean", "Michele" 00140 DATA "Gary", "Gordon", "Mallika" 00150 READ MAT N$ EOF 155 00155 MAT N$(CNT) 00160 MAT A(UDIM(N$))=DIDX(N$) ! 00170 FOR I=1 TO 15 00180 PRINT N$(A(I)) 00190 NEXT I
Related Functions
Other functions that operate on arrays are
Technical Considerations
- DIdx will places equal array elements into ascending order by array index. In other words, for an array with three elements 10, 20 and 20, DIdx will return 2, 3, 1 (instead of 3, 2, 1).
- The RD specification in BRConfig.sys can affect the DIdx function because it determines when two numeric values are considered equal.
- The COLLATE option in effect when the program was last saved or in the OPTION statement can alter the sort order from the DIDX function when sorting string values.
- To use DIDX, the arrays on both sides of the equal sign must have the same dimensions.