Info
此问题已关闭。 请重新打开它进行编辑或回答。
Return back to the main function after while loop
1 次查看(过去 30 天)
显示 更早的评论
I have this code
table = [ 0 2 2 2 ; 1 0 0 2; 1 0 1 2; 1 1 0 0; 1 1 0 1];
code =[ 0 0 1 1 0 1 1 1 0 0 1 1 1 0 0 0];
n=1;result=[];loop=0;m=1;
while n <=16
[x,y]=find(table(:,1)==code(n)); %MAIN%
if length(x)==1 % option 1 %
result=[result,x];
n=n+1;
if length(x)>1 % option 2 %
while length(x)>1
[x,y]= find (code(n)== table(:,m));
n=n+1;
m=m+1;
end
result=[result,x];
end
end
end
How can I return to the %MAIN% after finish with % option 2 % ? Is there something missing?
The answer I got is
result = 1 1 5
It seems that after % option 2 % finished, it does not return into % Main %
The answer should be
result = 1 1 5 4 1 1 2 1
1 个评论
Walter Roberson
2018-12-27
you increment n within the inner while loop. that can easily cause n to get towards the 16 that is the end of the outer while loop.
回答(0 个)
此问题已关闭。
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!