Organizar array

Organizar array

Postby Francisco Horta » Mon Oct 20, 2008 4:18 pm

Hola foro,
tengo un arreglo multidimensional este lo ordeno con el "asort", pero por un dato, lo que quiero es organizar el arreglo por medio de 2 datos, como si fuera un campo de dbf "a+b" alguna pista?
gracias
paco
Francisco Horta
 
Posts: 845
Joined: Sun Oct 09, 2005 5:36 pm
Location: la laguna, mexico.

Postby TecniSoftware » Mon Oct 20, 2008 4:27 pm

Francisco:

Yo hago lo siguiente:

aConceptos := ASort( aTemp,,, { |a,b| ( DtoS( a[1] ) + Str( a[2], 2, 0 ) ) < ( DtoS( b[1] ) + Str( b[2], 2, 0 ) ) } )

Puedes ver que a[1] y a[2] son los elementos del array que se quiere ordenar.

Espero que te sirva.

Salu2!
Alejandro Cebolido
Buenos Aires, Argentina
User avatar
TecniSoftware
 
Posts: 235
Joined: Fri Oct 28, 2005 6:29 pm
Location: Quilmes, Buenos Aires, Argentina

Postby Francisco Horta » Mon Oct 20, 2008 4:42 pm

gracias alejandro,
salu2
paco
Francisco Horta
 
Posts: 845
Joined: Sun Oct 09, 2005 5:36 pm
Location: la laguna, mexico.

ordenar array basico

Postby omarelunico » Thu Jul 15, 2010 7:47 pm

fn_asort(@matrizciudades,1,'A')

Function Fn_ASort(matriz,columna,orden) // orden='A'Asc.'D'Desc.
Local _aAux,_n,_m,_x,bCondicion
If ValType(columna)=[B]
bCondicion:=columna
Else
bCondicion:={||If(orden='A',matriz[columna,_n]>matriz[columna,_m],matriz[columna,_n]<matriz[columna,_m])}
Endif
For _n=1 To Len(matriz)
For _m=_n+1 To Len(matriz)
If matriz[_n]>matriz[_m]
For _x=1 To Len(matriz)
_aAux:=matriz[_n]
matriz[_n]:=matriz[_m]
matriz[_m]:=_aAux
Next
Endif
Next
Next
Return Nil
User avatar
omarelunico
 
Posts: 33
Joined: Sun May 14, 2006 7:31 am
Location: Lima - Perú


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: albeiroval and 45 guests