Había un error en el código inicial. En lugar de:
era:
La propiedad que es buena para este tipo de problemas, es tomar en cuenta la estructura de la matriz.
Los elementos de la diagonal principal, siempre serán del tipo fila 1 columna 1, fila 2, columna 2. El 'indice' del elemento de la diagonal, coincide tanto en columnas como en filas.
Los elementos de la diagonal secundaria, son similares a los de la diagonal principal, en que su 'indice' de fila es idéntico, y la diferencia radica, en que parte del ultimo elemento de la fila, y luego va bajando.
Diagonal secundaria, de matriz n*n:
Código [Seleccionar]
matriz[j]=contador
era:
Código [Seleccionar]
matriz[i][j]=contador
Código (python) [Seleccionar]
fila = 3
columna = 3
matriz =[]
for i in range(fila):
matriz.append([0]*columna)
print (matriz)
##les da valor a la matriz 1a9
contador=1
for i in range(fila):
for j in range(columna):
matriz[i][j]=contador
contador+=1
print(matriz)
## ordena la matriz
for k in matriz:
print (k)
##Diagonal principal
a=[]
for i in range(fila):
a.append(matriz[i][i])
print(a)
##Diagonal secundaria
a=[]
for i in range(fila):
a.append(matriz[i][(columna-1)-i])
print(a)
La propiedad que es buena para este tipo de problemas, es tomar en cuenta la estructura de la matriz.
Los elementos de la diagonal principal, siempre serán del tipo fila 1 columna 1, fila 2, columna 2. El 'indice' del elemento de la diagonal, coincide tanto en columnas como en filas.
Los elementos de la diagonal secundaria, son similares a los de la diagonal principal, en que su 'indice' de fila es idéntico, y la diferencia radica, en que parte del ultimo elemento de la fila, y luego va bajando.
Diagonal secundaria, de matriz n*n:
- fila 1, columna n
- fila 2, columna n-1
- fila 3, columna n-2