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=0
for i in range (n):
suma=suma+m[f][i]
return suma
def comprobarfilas(m):
n=len(m)
suma=0
suma1=sumafilas(m,0)
comprobarfilas=True
f=1
while comprobarfilas and f<n:
suma=sumafilas(m,f)
if (suma1!=suma):
comprobarfilas=False
f=f+1
return comprobarfilas
def sumacolumnas(m,c):
n=len(m)
suma=0
for j in range (n):
suma=suma+m[c][j]
return suma
def comprobarcolumnas(m):
n=len(m)
suma=0
suma2=sumacolumnas(m,0)
comprobarcolumnas=True
while comprobarcolumnas and c<n:
suma=sumacolumnas(m,c)
if (suma2!=suma):
comprobarcolumnas=False
c=c+1
return comprobarcolumnas
def sumadiagonales(m,d):
n=len(m)
suma=0
for k in range (n):
suma=suma+m[d][k]
return suma
def comprobardiagonales(m):
n=len(m)
suma=0
suma3=sumadiagonales(m,0)
comprobardiagonales=True
d=1
if suma==sumadiagonales(m,d):
comprobardiagonales=True
else:
(suma3!=suma)
comprobardiagonales=False
d=d+1
return comprobardiagonales
Espero que puedan ayudarme.
Muchas gracias
Valora esta pregunta


0