Pues estaba practicando en Python con la comprensión de lista, cosa que no existe en gambas y
me puse a hacer algo parecido en gambas para que fuera posible hacer el ejercicio.
Tengo una matriz de números de tres por tres.
Y quiero:
- Hallar la columna n
- Hallar la fila n
- Y por ultimo las diagonales.
Hice este código y debe ser que no recordaba el funcionamiento de Select Case, que me pareció curioso como puedo usar dos casos.
Por ejemplo "derecha" y "d"
Aquí el código:
Private matriz As New Integer[][]
Public Sub Main()
matriz = [
[1, 2, 3],
[4, 5, 6],
[7, 8, 9]]
MostrarFila(1)
Print
MostrarColumna(1)
Print
MostrarDiagonal("d")
End
Public Sub MostrarFila(n As Integer)
Dim x As Integer
For x = 0 To matriz.Max
Print matriz[n][x]; " ";
Next
End
Public Sub MostrarColumna(n As Integer)
Dim y As Integer
For y = 0 To matriz.Max
Print matriz[y][n]; " ";
Next
End
Public Sub MostrarDiagonal(diagonal As String)
Dim i As Integer
Select Case diagonal
Case "izquierda", "i"
For i = 0 To matriz.Max
Print matriz[i][i]; " ";
Next
Case "derecha", "d"
For i = matriz.Max To 0 Step -1
Print matriz[matriz.Max - i][i]; " ";
Next
Case Else
Print ("No existe esa diagonal")
End Select
End
Public Sub Main()
matriz = [
[1, 2, 3],
[4, 5, 6],
[7, 8, 9]]
MostrarFila(1)
MostrarColumna(1)
MostrarDiagonal("d")
End
Public Sub MostrarFila(n As Integer)
Dim x As Integer
For x = 0 To matriz.Max
Print matriz[n][x]; " ";
Next
End
Public Sub MostrarColumna(n As Integer)
Dim y As Integer
For y = 0 To matriz.Max
Print matriz[y][n]; " ";
Next
End
Public Sub MostrarDiagonal(diagonal As String)
Dim i As Integer
Select Case diagonal
Case "izquierda", "i"
For i = 0 To matriz.Max
Print matriz[i][i]; " ";
Next
Case "derecha", "d"
For i = matriz.Max To 0 Step -1
Print matriz[matriz.Max - i][i]; " ";
Next
Case Else
Print ("No existe esa diagonal")
End Select
End
Y el resultado fue este:
Citar:
Creía que debía usar esto: ["derecha", "d"]
Saludos