我有一个关于如何在 Delphi 中准确填充矩阵的问题?在Delphi中,以哪种方式,哪一行和哪一列先行,哪个数字后跟哪个数字?你能帮我澄清一下吗?详情如下:
我有 5x5 矩阵,编号为 1 到 5,代码如下:
for i := 1 to 5 do
for j := 1 to 5 do
x[i, j] := i + j;
x[2,2] 和 x[1,1] 这样的位置会是什么?填充矩阵的顺序是什么?以何种方式?第一个,第二个,第三个等填充什么行和列?谢谢您的回答。
代码按照出现的顺序从上到下运行。如果它有助于更好地查看它(我不建议您编写这样的代码,但只是更好地显示逻辑):
for i := 1 to 5 do
begin
for j := 1 to 5 do
begin
x[i, j] := i + j;
end;
end;
逻辑从 i = 1 开始,然后计算内部循环。所以基本上,你正在这样做:
x[1, 1] := 1 + 1;
x[1, 2] := 1 + 2;
...
x[1, 5] := 1 + 5;
x[2, 1] := 2 + 1;
..
x[5, 4] := 5 + 4;
x[5, 5] := 5 + 5;
希望这可以帮助您了解 for 循环在这种情况下是如何工作的。
这个问题与矩阵或 Delphi 本身无关。相反,它都是关于嵌套的 for 循环。
我将向您展示如何自己解决这个问题。创建这个简单的控制台应用程序:
program NestedLoops;
procedure Main;
var
i, j: Integer;
begin
for i := 1 to 5 do
for j := 1 to 5 do
begin
Write('i=');
Write(i);
Write(' j=');
Write(j);
Writeln;
end;
end;
begin
Main;
end.
你会看到这样的输出:
i=1 j=1
i=1 j=2
i=1 j=3
i=1 j=4
i=1 j=5
i=2 j=1
i=2 j=2
....
无需运行代码也很容易预测这一点。想一想: