Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 1070235
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 16, 20262026-05-16T20:32:01+00:00 2026-05-16T20:32:01+00:00

Back learning after silly life issues derailed me! I decided to switch my learning

  • 0

Back learning after silly life issues derailed me! I decided to switch my learning material and I’m now working through Accelerated C++.

Chapter 2, Exercise 5:
Write a set of “*” characters so that they form a square, a rectangle, and a triangle.

I tried but just couldn’t get the triangle down exactly. A quick google found the following answer:

// draw triangle
    int row = 0;
    int col = 0;
    int height = 5;

// draw rows above base
    while (row < height - 1)
    {
        col = 0;
        while (col < height + row)
        {
            ++col;
            if (col == height - row)
                cout << '*';
            else
            {
                if (col == height + row)
                    cout << '*';
                else
                    cout << ' ';
            }
        }
        cout << endl;
        ++row;
    }

// draw the base
    col = 0;

    while (col < height * 2 - 1)
    {
        cout << '*';
        ++col;
    }

I wanted to disect this and fully understand it as I had trouble coming up with my own answer. It doesn’t matter how many times I go through it I cannot see how it’s drawing the right side of the triangle:

- - - - *
- - - *
- - *
- *
*
* * * * * * * * * * 

That’s what I get going through this loop on paper. Where on earth is that right side coming from? I have a gut feeling the expressions are doing something I’m not seeing. The code works.

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-16T20:32:01+00:00Added an answer on May 16, 2026 at 8:32 pm

    In the nested while loop, inside the else clause:

    else
    {
        if (col == height + row)
            cout << '*';  // This draws the right side
        else
            cout << ' ';
    }
    

    The trick is that the while loop doesn’t quit until the column reaches height + row, which is the position of the right side. It prints the left side (at height - row) earlier, in the if clause that comes before this one.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I developed a flashcard program a while back for learning Japanese. I've been considering
Back when I was learning HTML, I loved how easy it to build pages
I'm learning to build Silverlight 3 apps using WCF to communicate with the back
This is me going right back to basics with TDD for learning purposes. I
I am very new to Flex (started learning a couple of days back), I
I have no clue about trigonometry, despite learning it in school way back when,
Hey, I'm learning an ecommerce package (Spree). The problem arises after I delete a
I develop websites since last two years now and I have hard time learning
After seeing the 13th Floor back in the day I have been obsessed to
After reading a few related questions I've decided to use the tpl library to

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.