1,105,644 Community Members

Maths puzzle; Reversing Numbering Order!

Member Avatar
Light Poster
36 posts since Apr 2010
Reputation Points: 0 [?]
Q&As Helped to Solve: 0 [?]
Skill Endorsements: 0 [?]


I'm trying to reverse the ordering of number.

I'm given an array of size.. say, 5. WITHIN a do-while loop, I must iterate from element 0 to 4.

For example, if the element contains ["Apple", "Banana", "Cow", "Dog", "Egg"], the output of the do-while loop has to be:

Apple Banana Cow Dog Egg

I have tried (in C#):

int numOfElements = array.Count;    //Number of elements. 

    TextBox.Text += array[numOfElements-1] + " ";
while (numOfElements != 0);

...but obviously this will print out "Egg Dog Cow Banana Apple", which is the reverse order of what I'm tring to achieve.

So how can I make it print it in the correct order, within the Do-While loop? Some mathematical work involved in my opinion...?

Thank you!

Member Avatar
Eternally Awesome
4,699 posts since Jan 2012
Reputation Points: 1,341 [?]
Q&As Helped to Solve: 690 [?]
Skill Endorsements: 104 [?]

Um...what? So you're trying to traverse an array with a do..while loop in forward order?

int i = 0;

    Console.Write(array[i] + " ");
while (++i < array.Count);

Or if you can't have a counter starting from 0 and must have a descending counter starting from array.Count, the difference of the counter and array.Count will give you what you want:

int i = array.Count;

    Console.Write(array[array.Count - i] + " ");
while (--i != 0);
Member Avatar
Industrious Poster
4,052 posts since Dec 2008
Reputation Points: 761 [?]
Q&As Helped to Solve: 634 [?]
Skill Endorsements: 24 [?]

It is conventional and more readable to use a for loop or a foreach loop, if the language has one.

for(int i = 0; i < array.Count; ++i){ 
    Console.Write( array[i] );
This article has been dead for over three months: Start a new discussion instead
Start New Discussion
View similar articles that have also been tagged: