7.5. Traversal

A common thing to do with a string is start at the beginning, select each character in turn, do something to it, and continue until the end. This pattern of processing is called a traversal. A natural way to encode a traversal is with a while statement.

Note

On some machines, comparing an int to the output from length will generate a type error. This is because the length function returns an unsigned integer type. To keep the variable type consistent, you should use size_t rather than int for the type of iterator i.

The active code below outputs each letter of string fruit using a while loop.

This loop traverses the string and outputs each letter on a line by itself. Notice that the condition is index < lengthfruit, which means that when index is equal to the length of the string, the condition is false and the body of the loop is not executed. The last character we access is the one with the index fruit.length()-1.

The name of the loop variable is index. An index is a variable or value used to specify one member of an ordered set, in this case the set of characters in the string. The index indicates (hence the name) which one you want. The set has to be ordered so that each letter has an index and each index refers to a single character.

As an exercise, write a function that takes an string as an argument and that outputs the letters backwards, all on one line.

Try writing the reverseWord function in the commented section of the active code below. If done correctly, the program should output “hello” backwards. If you get stuck, you can reveal the extra problem at the end for help.

You have attempted of activities on this page