DATA Step, Macro, Functions and more

Nested do while-loops

Accepted Solution Solved
Reply
Contributor
Posts: 24
Accepted Solution

Nested do while-loops

Hello,

I am somewhat new to SAS and am puzzled as to how the following program behaves:

data bla;

i=999;

j=999;

do while(i ge 100);

     do while(j ge 100);

          put i= j=;

          j = j-1;

     end;

i = i-1;

end;

run;

I would expect the output to be all pairs of numbers (i,j), where i and j are in the range from 100 to 999. Instead only the j varies, while i stays at 999. What am I missing here?

Kind regards,

Hedegaard84.


Accepted Solutions
Solution
‎04-02-2012 04:48 AM
Occasional Contributor
Posts: 10

Nested do while-loops

Posted in reply to Hedegaard

Try this,

data bla;

i=999;

j=999;

do while(i ge 100);

   do while(j ge 100);

      put i= j=;*

      output;

      j = j-1;

   end;

   j=999;

   i = i-1;

end;

run;

Youst must OUTPUT in rthe inner loop and reset the j variable after completion of the inner loop.

View solution in original post


All Replies
Solution
‎04-02-2012 04:48 AM
Occasional Contributor
Posts: 10

Nested do while-loops

Posted in reply to Hedegaard

Try this,

data bla;

i=999;

j=999;

do while(i ge 100);

   do while(j ge 100);

      put i= j=;*

      output;

      j = j-1;

   end;

   j=999;

   i = i-1;

end;

run;

Youst must OUTPUT in rthe inner loop and reset the j variable after completion of the inner loop.

Contributor
Posts: 24

Nested do while-loops

Yes, of course. I see why.

Thank you. Smiley Happy

🔒 This topic is solved and locked.

Need further help from the community? Please ask a new question.

Discussion stats
  • 2 replies
  • 1158 views
  • 0 likes
  • 2 in conversation