Info

Cette question est clôturée. Rouvrir pour modifier ou répondre.

Return back to the main function after while loop

1 vue (au cours des 30 derniers jours)
fyza affandi
fyza affandi le 27 Déc 2018
Clôturé : fyza affandi le 27 Déc 2018
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 commentaire
Walter Roberson
Walter Roberson le 27 Déc 2018
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.

Réponses (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by