Error en un programa y no se donde esta
Publicado por Sara (6 intervenciones) el 24/03/2013 15:20:10
Buenas tardes, necesito vuestra ayuda, tengo que hacer un programa que me diga si la suma de las diagonales, de las filas y de las columnas es el mismo.
He realizado un programa que es el que os adjunto y para las filas me sale perfecto pero para las columnas y diagonales no, cuando lo ejecuto me da algo que no es verdad, es decir una matriz que sus columnas no suman lo mismo me pone true y no es cierto.
Donde esta el error?
Espero que puedan ayudarme.
Muchas gracias
He realizado un programa que es el que os adjunto y para las filas me sale perfecto pero para las columnas y diagonales no, cuando lo ejecuto me da algo que no es verdad, es decir una matriz que sus columnas no suman lo mismo me pone true y no es cierto.
Donde esta el error?
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
51
52
53
54
def sumafilas(m,f):
n=len(m)
suma=0for i in range (n):
suma=suma+m[f][i]
return suma
def comprobarfilas(m):
n=len(m)
suma=0suma1=sumafilas(m,0)
comprobarfilas=True f=1while comprobarfilas and f<n:
suma=sumafilas(m,f)
if (suma1!=suma):
comprobarfilas=Falsef=f+1
return comprobarfilas
def sumacolumnas(m,c):
n=len(m)
suma=0for j in range (n):
suma=suma+m[c][j]
return suma
def comprobarcolumnas(m):
n=len(m)
suma=0suma2=sumacolumnas(m,0)
comprobarcolumnas=Truewhile comprobarcolumnas and c<n:
suma=sumacolumnas(m,c)
if (suma2!=suma):
comprobarcolumnas=Falsec=c+1
return comprobarcolumnas
def sumadiagonales(m,d):
n=len(m)
suma=0for k in range (n):
suma=suma+m[d][k]
return suma
def comprobardiagonales(m):
n=len(m)
suma=0suma3=sumadiagonales(m,0)
comprobardiagonales=True d=1if suma==sumadiagonales(m,d):
comprobardiagonales=True else:(suma3!=suma)
comprobardiagonales=Falsed=d+1
return comprobardiagonales
Espero que puedan ayudarme.
Muchas gracias
Valora esta pregunta


0
