Javascript矩阵混乱

时间:2011-11-03 15:39:58

标签: javascript arrays matrix

我参加了JavaScript入门课程,最近开始学习矩阵。我被分配了一个问题要解决,但我很难继续。从矩阵中,我需要创建一个Z形成,然后使用Z数据来完成任务。分配的基本参数如下:

声明一个8 x 8矩阵和一个长度为22的数组。(声明你在算法中使用的任何其他变量)

  1. 填充矩阵。
  2. 将矩阵的第一行元素,反对角线和矩阵的最后一行复制到数组中。 (我们在课堂上将其称为矩阵中的Z)
  3. 对数组进行排序。
  4. 假设数组中的数据是等级,请计算存储在数组偶数位置的等级的平均值。
  5. 将数组复制回矩阵。(返回Z)
  6. 打印出矩阵值。
  7. 根据我的讲义,我能够整理这段代码:

    Var k=0;
    Var j=0;
    Var i=0;
    Var x=0;
    
    for (k=0;k<8;k++){
      x[j]=mat[i][k]
      j=j+1
    }
    
    var x = new array (22);
    j=8;
    k=j;
    for(i=1;i<7;i++){
      k[j]mat[i][k];
      j=j+1;
    }
    
    var mat=new array (8);
    i=7
    for(i=0;1<21;i=i+1){
      for(k=i+1;k<22;k=k+1){
        if(x[i]>x[k]){
          temp=x[i];
          x[i]=x
          x[k]=temp
        }
      }
    }
    x[i]=mat[i][k];
    mat[i][k]=x[j]
    

    我不确定如何将数组排序或复制回矩阵。

1 个答案:

答案 0 :(得分:1)

尝试重写代码如下:

var k=0;
var j=0;
var i=0;
var x=0;

for (k=0;k<8;k++){
  x[j] = mat[i][k]
  j=j+1
}

var x = new Array ();
j=8;
k=j;
for(i=1;i<7;i++){
  k[j]mat[i][k];
  j=j+1;
}

var mat= new Array ();
i=7
for(i=0;1<21;i=i+1){
  for(k=i+1;k<22;k=k+1){
    if(x[i]>x[k]){
      temp = x[i];
      x[i] = x
      x[k] = temp
    }
  }
}
x[i] = mat[i][k];
mat[i][k] = x[j];

测试此代码。它应该完美无缺。