PYTHON. Transformar una columna en cero si coincide el maximo de la columna con la diagonal
Publicado por Victoria (2 intervenciones) el 27/06/2015 23:10:55
Hola, estoy desarrollando una especificacion de algoritmos en python y tengo un par de dudas que no me dejan continuar.
La consigna me pide que ingrese una matriz cuadrada por teclado, y que encuentre los valores maximos de cada columna.
Luego, que genere una matriz nueva con los datos de la matriz ingresada por teclado, y que cuando la posicion del valor maximo de cada columna, coincida con la posicion de la diagonal principal, que esa columna se complete con ceros.
No me sale hacer la ultima parte, si alguien me ayudara sería de mucha ayuda. Eso es lo que pude hacer.Gracias
La consigna me pide que ingrese una matriz cuadrada por teclado, y que encuentre los valores maximos de cada columna.
Luego, que genere una matriz nueva con los datos de la matriz ingresada por teclado, y que cuando la posicion del valor maximo de cada columna, coincida con la posicion de la diagonal principal, que esa columna se complete con ceros.
No me sale hacer la ultima parte, si alguien me ayudara sería de mucha ayuda. Eso es lo que pude hacer.Gracias
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
def ImpreMatriz(arreglo,texto):
print texto
for i in range(len(arreglo)):
for j in range(len(arreglo[0])):
print '%4d' %(arreglo[i][j]),
def MayorCadaColumna(arreglo):
mayor_columna= [0]*len(arreglo)
for j in range(len(arreglo)):
mayor= arreglo[0][j]
for i in range(len(arreglo)):
if arreglo[i][j] > mayor:
mayor= arreglo[i][j]
mayor_columna[j]= mayor
return mayor_columna
filas= int(raw_input('Filas: '))
columnas= int(raw_input('Columnas: '))
if filas != columnas:
print 'La matriz no es cuadrada'
print 'Fin del programa'
else:
matriz= []
for i in range(filas):
matriz.append([0]*columnas)
for i in range(filas):
for j in range(columnas):
matriz[i][j]= int(raw_input('Elementos [%d][%d]: ' %(i,j)))
formato_matriz= ImpreMatriz(matriz,'Matriz Ingresada')
for i in range(len(matriz)):
for j in range(len(matriz)):
Mayor_cada_columna= MayorCadaColumna(matriz)
print 'Mayor de cada columna'
print Mayor_cada_columna
Matriz_nueva= []
Diagonal= []
for i in range(filas):
for j in range (columnas):
if (i+j) == filas:
Diagonal.append(matriz[i][j])
Valora esta pregunta


0