Hi,

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. 

do
{
    TextBox.Text += array[numOfElements-1] + " ";
    numOfElements--;
}
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!

Recommended Answers

All 2 Replies

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

int i = 0;

do
    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;

do
    Console.Write(array[array.Count - i] + " ");
while (--i != 0);

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] );
}
Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.