我参加了JavaScript入门课程,最近开始学习矩阵。我被分配了一个问题要解决,但我很难继续。从矩阵中,我需要创建一个Z形成,然后使用Z数据来完成任务。分配的基本参数如下:
声明一个8 x 8矩阵和一个长度为22的数组。(声明你在算法中使用的任何其他变量)
根据我的讲义,我能够整理这段代码:
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]
我不确定如何将数组排序或复制回矩阵。
答案 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];
测试此代码。它应该完美无缺。