matlab程序调式啊.随机给定一个元素为0或1的5阶方阵,设定1为可以通过,0为不能通过,不允许走斜线,给出一条从左下角进入矩阵,从右上角走出矩阵的路线.如找不到此路线,则重新给定方阵function
来源:学生作业帮助网 编辑:作业帮 时间:2024/07/03 00:00:22
![matlab程序调式啊.随机给定一个元素为0或1的5阶方阵,设定1为可以通过,0为不能通过,不允许走斜线,给出一条从左下角进入矩阵,从右上角走出矩阵的路线.如找不到此路线,则重新给定方阵function](/uploads/image/z/11683796-68-6.jpg?t=matlab%E7%A8%8B%E5%BA%8F%E8%B0%83%E5%BC%8F%E5%95%8A.%E9%9A%8F%E6%9C%BA%E7%BB%99%E5%AE%9A%E4%B8%80%E4%B8%AA%E5%85%83%E7%B4%A0%E4%B8%BA0%E6%88%961%E7%9A%845%E9%98%B6%E6%96%B9%E9%98%B5%2C%E8%AE%BE%E5%AE%9A1%E4%B8%BA%E5%8F%AF%E4%BB%A5%E9%80%9A%E8%BF%87%2C0%E4%B8%BA%E4%B8%8D%E8%83%BD%E9%80%9A%E8%BF%87%2C%E4%B8%8D%E5%85%81%E8%AE%B8%E8%B5%B0%E6%96%9C%E7%BA%BF%2C%E7%BB%99%E5%87%BA%E4%B8%80%E6%9D%A1%E4%BB%8E%E5%B7%A6%E4%B8%8B%E8%A7%92%E8%BF%9B%E5%85%A5%E7%9F%A9%E9%98%B5%2C%E4%BB%8E%E5%8F%B3%E4%B8%8A%E8%A7%92%E8%B5%B0%E5%87%BA%E7%9F%A9%E9%98%B5%E7%9A%84%E8%B7%AF%E7%BA%BF.%E5%A6%82%E6%89%BE%E4%B8%8D%E5%88%B0%E6%AD%A4%E8%B7%AF%E7%BA%BF%2C%E5%88%99%E9%87%8D%E6%96%B0%E7%BB%99%E5%AE%9A%E6%96%B9%E9%98%B5function)
matlab程序调式啊.随机给定一个元素为0或1的5阶方阵,设定1为可以通过,0为不能通过,不允许走斜线,给出一条从左下角进入矩阵,从右上角走出矩阵的路线.如找不到此路线,则重新给定方阵function
matlab程序调式啊.
随机给定一个元素为0或1的5阶方阵,设定1为可以通过,0为不能通过,不允许走斜线,给出一条从左下角进入矩阵,从右上角走出矩阵的路线.如找不到此路线,则重新给定方阵
function m_main(a)
move=[-1 0;0 1];
if a(5,1)==0||a(1,5)==0
disp('重新给定矩阵')
else
a(5,1)=2;
stack(1,1)=5;
stack(1,2)=1;
stack(1,3)=1;
top=1;
while top~=0
i=stack(top,1);
j=stack(top,2);
k=stack(top,3);
while k
matlab程序调式啊.随机给定一个元素为0或1的5阶方阵,设定1为可以通过,0为不能通过,不允许走斜线,给出一条从左下角进入矩阵,从右上角走出矩阵的路线.如找不到此路线,则重新给定方阵function
function stack = myroad(A)
move = [-1,0;0,1]; % 移动方向
if A(5,1) == 0 || A(1,5) == 0
disp('重新给定矩阵0');
else
stack(1,1) = 5;
stack(1,2) = 1;
stack(1,3) = A(5,1);
top = 1;
while top ~= 0
i = stack(top,1);
j = stack(top,2);
k = stack(top,3);
if k = 1 & g =1 & h 0
top = top + 1;
stack(top,1) = g;
stack(top,2) = h;
stack(top,3) = A(g,h);
else
stack(top,3) = stack(top,3) + 1;
end
if g == 1 & h == 5
disp('find outway');
break;
else
end
else
stack(top,3) = stack(top,3) + 1;
end
end
end
例子:
>> A
A =
0 1 0 0 1
1 0 1 0 1
1 0 0 1 1
1 1 1 1 0
1 0 0 1 0
>> stack = myroad(A)
find outway
stack =
5 1 1
4 1 2
4 2 2
4 3 2
4 4 1
3 4 2
3 5 1
2 5 1
1 5 1