HonradosHP
¿Quieres reaccionar a este mensaje? Regístrate en el foro con unos pocos clics o inicia sesión para continuar.

Obtener una fila de un arreglo de dos dimensiones

Ir abajo

Obtener una fila de un arreglo de dos dimensiones Empty Obtener una fila de un arreglo de dos dimensiones

Mensaje  CesarV Sáb Oct 01, 2011 12:00 pm

Obtener una fila de un arreglo de dos dimensiones

Para obtener una fila de un arreglo de dos dimensiones, puedes usar alguno de los siguientes 2 NULLNAME

**********************************************

Caso general:
El arreglo tiene objetos de cualquier tipo.

Código:
* Nivel 2: Arreglo de dos dimensiones, con objetos de cualquier tipo.
* Nivel 1: Bint que representa la fila que queremos obtener.
* Salida: La fila deseada como un arreglo de una dimensión.
* Este NULLNAME usa un NULLNAME anterior: ob>ARRY
NULLNAME Get_Row_Arry ( [[]] #fila -> [] )
::                ( [[]] #fila )
  SWAPDUP        ( #fila [[]] [[]] )
  DIMLIMITS_      ( #fila [[]] {#F #C} )
  TWONTHCOMPDROP_ ( #fila [[]] #C )
  FLASHPTR 2LAMBIND ( #fila )
  1GETLAM #*        ( #fila•C )
  #1+              ( #fila•C+1 )
  DUP              ( #fila•C+1 #fila•C+1 )
  1GETLAM #-        ( #fila•C+1 #fila•C+1-C )
  DO
    INDEX@          ( ...#i )
    2GETLAM        ( ...#i [[]] )
    GETATELN        ( ...obi T )
    DROP            ( ...obi )
  LOOP
                    ( ob1...obC )
  1GETABND          ( ob1...obC #C )
  ONE{}N            ( ob1...obC {#C} )
  ob>ARRY          ( [ob1...obC] )
;
NOTA: El NULLNAME ob>ARRY que permite crear un arreglo a partir de los objetos de la pila puedes encontrarlo en la siguiente página:
Formar un arreglo con los objetos de la pila


**********************************************

Caso arreglo numérico:
Este NULLNAME es mucho más rápido que el anterior, pero sólo funciona para arreglos reales o complejos.

Código:
* Nivel 2: Arreglo de dos dimensiones, debe ser real o complejo.
* Nivel 1: Bint que representa la fila que queremos obtener.
* Salida: La fila deseada como un arreglo de una dimensión.
NULLNAME Get_Row_NumArry ( [[]] #fila -> [] )
::                ( [[]] #fila )
  OVER            ( [[]] #fila [[]] )
  DIMLIMITS_      ( [[]] #fila {#F #C} )
  TWONTHCOMPDROP_  ( [[]] #fila #C )
  ONE{}N          ( [[]] #fila {#C} )
  3PICK            ( [[]] #fila {#C} [[]] )
  laMGET0          ( [[]] #fila {#C} %0/C%0 )
  MAKEARRY_        ( [[]] #fila [] )
  SWAPFALSE_      ( [[]] [] #fila F )
  FLASHPTR laGPROW ( [[]] []' )
  SWAPDROP        ( []' )
;
CesarV
CesarV
Admin

Masculino Cantidad de envíos : 133
Localización : Perú
Calculadora : HP 50g
ROM : 2.15

https://sites.google.com/view/cesarv1821

Volver arriba Ir abajo

Volver arriba

- Temas similares

 
Permisos de este foro:
No puedes responder a temas en este foro.