In the C++ newsgroup I ask for help with this program. Francis Glassborow wrote about this: OK but your code is still too complicated. To draw a horizontal line with from (start, y) to (end, y) just: for(int xpos(start); xpos <= end; ++xpos) { // code for plotting a single point at (xpos, y) } Now for the cross just work out what values to use for start and end. Now invert the coordinates for a vertical line. Note that general lines (from (x1, y1) to (x2, y2) ) are much harder to get right which is why functions to do that are included in the playpen library. ------------------ So although this program works - it can be re-written and possibly made to work with simpler code. I will look again at this program later.