gpt4 book ai didi

JavaScript(for/while)

转载 作者:行者123 更新时间:2023-12-01 02:19:55 26 4
gpt4 key购买 nike

结果我应该得到一个螺旋矩阵,但它不起作用。问题出在第三个或第四个 for 的某个地方。来自while

for循环不起作用。我认为,从逻辑上讲,问题已经解决了,我只是有一个语法问题,但我找不到它。


例如,矩阵应如下所示:
n=3 n=5<br/>
1 2 3 1 2 3 4 5
8 9 4 16 17 18 19 6
7 6 5 15 24 25 20 7
14 23 22 21 8
13 12 11 10 9

n = parseInt(prompt('N:', '5'));
A = new Array();
for (i = 0; i < n; i++) {
A[i] = new Array();
for (j = 0; j < n; j++) A[i][j] = 0;
}
DIM = parseInt(n * n);
//A[i][j]=1;
//==========================
document.write("<br>Matrix: <table border='2'>".fontcolor('red'));
for (i = 0; i < n; i++) {
document.write("<tr>");
for (j = 0; j < n; j++) {
document.write("<td >" + A[i][j] + " ");
}
document.write("<br>");
}
document.write("</table>");
document.write("========================================== <br>");

//===========================
k = 1;
nr = 1;
f = true;
while (f) {
i = k - 1;
for (j = k - 1; j <= n - k; j++) {
if (nr <= DIM) {
A[i][j] = nr;
nr++;
document.write(A[i][j] + ' ');
} else {
f = false;
};
};
document.write('<br>');
for (i = k; i <= n - k; i++) {
if (nr <= DIM) {
A[i][j] = nr;
nr++;
document.write(A[i][j] + ' ');
} else {
f = false;
};
};
document.write('<br>');
for (j = (n - k - 1); j >= (k - 1); j--) {
if (nr <= DIM) {
A[i][j] = nr;
nr++;
document.write(A[i][j] + ' ');
} else {
f = false;
};
};
document.write('<br>');
for (i = (n - k - 1); i >= k; i--) {
if (nr <= DIM) {
A[i][j] = nr;
nr++;
document.write(A[i][j] + ' ');
} else {
f = false;
};
};
document.write('<br>');
k++;
};
//=====================================
document.write("<br>Matrix: <table border='2'>".fontcolor('red'));
for (i = 0; i < n; i++) {
document.write("<tr>");
for (j = 0; j < n; j++) {
document.write("<td >" + A[i][j] + " ");
}
document.write("<br>");
}
document.write("</table>");
document.write("========================================== <br>");

最佳答案

这不是语法错误。它在 A[i][j] = nr; 上崩溃在 for (j = (n - k - 1); j >= (k - 1); j--) {当您尝试设置 A[5][3] = 10; 时 for 循环因为A[5]未定义。

这应该可以解决你眼前的问题,尽管我怀疑这有多大帮助......这是一个相当棘手的编程问题。螺旋看起来很简单,但实际上很难。我强烈建议您采纳 Quince 的建议并改进您的变量名称。尝试让这段代码运行会让任何人都头疼。

关于JavaScript(for/while),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49270896/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com