Foros del Web » Programando para Internet » Javascript »

Suma diagonales de una tabla

Estas en el tema de Suma diagonales de una tabla en el foro de Javascript en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 14/12/2011, 10:33
 
Fecha de Ingreso: diciembre-2011
Mensajes: 4
Antigüedad: 13 años
Puntos: 0
Suma diagonales de una tabla

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.

Código Javascript:
Ver original
  1. <html>
  2.  
  3.     <head>
  4.         <script style="text/javascript">
  5.         var fila;
  6.         var columna;
  7.         var numero;
  8.         var arrayTabla;
  9.         cantidad=0;
  10.         function generar(){
  11.            
  12.             cantidad=parseInt(prompt("Intro valor: "));
  13.             arrayTabla= new Array(cantidad);
  14.             for (i=0;i<arrayTabla.length;i++) arrayTabla[i]= new Array(cantidad);
  15.             //creo la tabla
  16.             tabla=document.createElement("table");
  17.             tabla.border=1;
  18.             tabla.id="t";
  19.             var bodyP=document.getElementById("bodyP");
  20.            
  21.             //contador=1;
  22.            
  23.             suma=0;
  24.            
  25.             for (var i=0;i<cantidad+1;i++){
  26.                 var fila1=document.createElement("tr");
  27.                 for (var j=0;j<cantidad+1;j++){
  28.                     var columna1=document.createElement("td");//creamos una celda
  29.                     if (i==cantidad || j==cantidad){
  30.                             columna1.style.backgroundColor="gray";
  31.                             columna1.style.color="white";
  32.                             texto=document.createTextNode(" ");
  33.                             columna1.appendChild(texto);//enlazamos hijos con padres
  34.                             fila1.appendChild(columna1);
  35.                         }
  36.                         else{
  37.                             numero=parseInt(prompt("Intro valor: "));
  38.                                                         arrayTabla[i][j]=numero;
  39.                            
  40.                             texto=document.createTextNode(numero);
  41.                            
  42.                             }
  43.                         if(i==j && i<cantidad && j<cantidad){
  44.                            
  45.                             suma=suma+numero;
  46.                         }
  47.                        
  48.                         if (i==cantidad && j==cantidad){
  49.                                
  50.                                 texto=document.createTextNode(suma);
  51.                             }
  52.                        
  53.                        
  54.                         columna1.appendChild(texto);//enlazamos hijos con padres
  55.                         fila1.appendChild(columna1);
  56.                         //contador++;
  57.                 }
  58.                 tabla.appendChild(fila1);
  59.                
  60.             }
  61.             bodyP.appendChild(tabla);
  62.        
  63.            
  64.         }
  65.    
  66.        
  67.        
  68.     </script>
  69.     </head>
  70.     <body onload="generar()">
  71.         <div id="bodyP" align="center"></div>
  72.     </body>

Última edición por mayte_luna_86; 14/12/2011 a las 11:03

Etiquetas: html, matriz, suma
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:16.