Link to home
Start Free TrialLog in
Avatar of Michelle21221
Michelle21221

asked on

Having Trouble with Nested Loops

Can anyone help me? I'm totally lost.

I'm trying to write a nested loop code segment that produces the following ouput:

1
1 2
1 2 3
1 2 3 4

Thanks for your help.
ASKER CERTIFIED SOLUTION
Avatar of johnbrewer1980
johnbrewer1980

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of KangaRoo
KangaRoo

Looks a bit like homework. We can (may) not provide complete solutions to homework, but we can assist you.

Is there any code you've tried or written so far? Even when it's not working (yet), we can help you to get it right.
This is the correct answer

for (int i = 1; i <= 4; ++i) {
                for (int j = 1; j <= i; ++j) {
                   cout << j << " ";
                }
                cout << endl;
              }

cout<<endl<<"Thanks for you help."<<endl
Hey glesby, that's the same as my answer!
I'd like to acknowledge johnbrewer1980, whose answer was highly influential in helping to construct this answer.
Avatar of DanRollins
#include "stdafx.h"
#include <iostream.h>

void OutputIt( int n ) {
    if ( n != 0 ) {
       OutputIt(n-1);
       cout << n << ' ';
    }
}

int main(int argc, char* argv[])
{
    OutputIt( 1 ); cout << endl;
    OutputIt( 2 ); cout << endl;
    OutputIt( 3 ); cout << endl;
    OutputIt( 4 ); cout << endl;
    return( 0 );
}

Thank you, thank you!  I'd like to thank all of the little people who contributed, however insignificantly to this production.  You LIKE me! you REALLY LIKE Me!

-- Dan
#include "stdafx.h"

#include <string>
#include <iostream>

using namespace std;

int main(int argc, char* argv[])
{
     std::string szString;
     for (int n=1;n<=4;n++)
     {
          char szBuffer[32];
          itoa(n,szBuffer,10);
          szString+=szBuffer;
          cout << szString <<endl;
          szString += " ";
     }
     return 0;
}

my contribution to this party :) - this was all my own work and I will thank no one except the great almighty - whomever that might be
I've improved my algorithm:

#include "stdafx.h"
#include <iostream.h>

int main(int argc, char* argv[])
  cout << "Nested loop example:" << endl;
  cout << "1" << endl;
  cout << "1 2" << endl;
  cout << "1 2 3" << endl;
  cout << "1 2 3 4" << endl;
}

Simpler is always better.  Just be sure to keep the first line or the professor won't know how hard you worked.

-- Dan

Dan - I hate to tell you this but - YOU made a mistake :)

your forgot your {

is that your first mistake this century ?
Just seeing if YOU were paying attention. Ha! made ya look! :---}

-- Dan
// Okay, you asked for it...

#include <iostream>

template<int N>
struct print_numbers
{
   ostream& print(ostream& out) const
   {
       print_numbers<N-1>().print(out);
       out << " " << N;
       return out;
   }
};

template<>
struct print_numbers<1>
{
   ostream& print(ostream& out) const
   {
       out << 1;
       return out;
   }
};

template<int K>
struct print_lines
{
   ostream& print(ostream& out) const
   {
      print_lines<K-1>().print(out);
      print_numbers<K>().print(out);
      out << endl;
      return out;
   }
};

template<>
struct print_lines<1>
{
   ostream& print(ostream& out) const
   {
      print_numbers<1>().print(out);
      out << endl;
      return out;
   }
};

int main()
{
   print_lines<4>().print(cout);
}
Michelle21221,
Ignore KangRoo's post.  It is one thing to bring a polished apple to the teacher.  It's quite another to backup a truck full of them to the classroom door...

-- Dan
I'd fail it due to lack of comments myself