Alejandro chiede :
Ottenuta una matrice Numero as new integer[90,1],come si fa ad mettere ordine decrescente non per il primo vettore della matrice bensi per il secondo?
' input
1 140
2 2
3 200
' output
3 200
1 140
2 2
Potrebbe essere:
Public Sub Main()
Dim ii As New Integer[2, 2]
ii[0, 0] = 5
ii[0, 1] = 3
ii[1, 0] = 6
ii[1, 1] = 4
ii = ii.Sort(gb.Descent)
Print ii[0, 0]
Print ii[0, 1]
Print ii[1, 0]
Print ii[1, 1]
End
:-X
Public Sub Main()
Dim aNumeri As New Integer[3, 2]
aNumeri[0, 0] = 1
aNumeri[1, 0] = 2
aNumeri[2, 0] = 3
aNumeri[0, 1] = 140
aNumeri[1, 1] = 2
aNumeri[2, 1] = 200
For r As Byte = 0 To 2
For c As Byte = 0 To 1
Print aNumeri[r, c];;
Next
Print
Next
Print "\nSort by vuott\n"
'' Orrore e raccapriccio :-P
aNumeri.Sort(gb.Descent)
For r As Byte = 0 To 2
For c As Byte = 0 To 1
Print aNumeri[r, c];;
Next
Print
Next
End
;D
...potrebbe fare un percorso più lungo e usare alla vecchia maniera un paio di array monodimensionali d'appoggio:
Public Sub Main()
Dim aNumeri As New Integer[3, 2]
Dim n0, n1 As New Integer[3]
aNumeri[0, 0] = 1
aNumeri[1, 0] = 2
aNumeri[2, 0] = 3
aNumeri[0, 1] = 100
aNumeri[1, 1] = 200
aNumeri[2, 1] = 300
For r As Byte = 0 To 2
n0[r] = aNumeri[r, 0]
n1[r] = aNumeri[r, 1]
Next
n0.Sort(gb.Descent)
n1.Sort(gb.Descent)
For r As Byte = 0 To 2
aNumeri[r, 0] = n0[r]
aNumeri[r, 1] = n1[r]
Next
Print
For c As Byte = 0 To 1
For r = 0 To 2
Print aNumeri[r, c]
Next
Print
Next
End