Suma diagonales de una tabla
Publicado por Mayte (2 intervenciones) el 14/12/2011 20:29:08
Hola, muy buenas a todos.
Necesito una pequeña ayuda o empujoncillo con este ejercicio que tengo que entregar el próximo viernes.
Necesito hacer la suma de todas las diagonales de una matriz, no solo la del centro, y poner el resultado en la siguiente a la diagonal correspondiente.
Hasta ahora ya tengo hecha la tabla que tengo que imprimir (que es dinámica) y la diagonal del centro con el resultado de la suma en la casilla siguiente.
Estaba pensando en que si para hacer la suma diagonal tengo que comprobar que (i==j) para hacer la anterior o siguiente (i==(j-1)) y (i==(j+1)) pero no me sale.
Les dejo el código por si lo quieren probar.
Gracias a todos y un saludo.
Necesito una pequeña ayuda o empujoncillo con este ejercicio que tengo que entregar el próximo viernes.
Necesito hacer la suma de todas las diagonales de una matriz, no solo la del centro, y poner el resultado en la siguiente a la diagonal correspondiente.
Hasta ahora ya tengo hecha la tabla que tengo que imprimir (que es dinámica) y la diagonal del centro con el resultado de la suma en la casilla siguiente.
Estaba pensando en que si para hacer la suma diagonal tengo que comprobar que (i==j) para hacer la anterior o siguiente (i==(j-1)) y (i==(j+1)) pero no me sale.
Les dejo el código por si lo quieren probar.
Gracias a todos y un saludo.
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
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
<html>
<head>
<script style="text/javascript">
var fila;
var columna;
var numero;
var arrayTabla;
cantidad=0;
function generar(){
cantidad=parseInt(prompt("Intro valor: "));
arrayTabla= new Array(cantidad);
for (i=0;i<arrayTabla.length;i++) arrayTabla[i]= new Array(cantidad);
//creo la tabla
tabla=document.createElement("table");
tabla.border=1;
tabla.id="t";
var bodyP=document.getElementById("bodyP");
//contador=1;
suma=0;
for (var i=0;i<cantidad+1;i++){
var fila1=document.createElement("tr");
for (var j=0;j<cantidad+1;j++){
var columna1=document.createElement("td");//creamos una celda
if (i==cantidad || j==cantidad){
columna1.style.backgroundColor="gray";
columna1.style.color="white";
texto=document.createTextNode(" ");
columna1.appendChild(texto);//enlazamos hijos con padres
fila1.appendChild(columna1);
}
else{
numero=parseInt(prompt("Intro valor: "));
arrayTabla[i][j]=numero;
texto=document.createTextNode(numero);
}
if(i==j && i<cantidad && j<cantidad){
suma=suma+numero;
}
if (i==cantidad && j==cantidad){
texto=document.createTextNode(suma);
}
columna1.appendChild(texto);//enlazamos hijos con padres
fila1.appendChild(columna1);
//contador++;
}
tabla.appendChild(fila1);
}
bodyP.appendChild(tabla);
}
</script>
</head>
<body onload="generar()">
<div id="bodyP" align="center"></div>
</body>
Valora esta pregunta


0