Solved

# Needs help in logic

Posted on 2011-02-21
358 Views
Hi guys: Can any one please help me in the logic. I try first but stuck in the middle of it.

1   1   1     1       1     1
2   4   8   16      32   64
3   9   27   81   243   729
4 16   64   256 1024  4096

#include <iostream>
using namespace std;

int main()
{
int row1 = 0;
int col1 = 0;
cout << "1" << "    " << "1" << "    " << "1" << "    " << "1" << "    " << "1" << "    " << "1" << endl;
for(row1 = 1; row1 <= 4; row1 ++)
{
for(col1 = 1; col1 <= 4; col1 ++)
{
cout << row1*col1;

system("pause");
return 0;
}
0
Question by:mustish1
[X]
###### Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

• Help others & share knowledge
• Earn cash & points
• 4
• 3

LVL 37

Accepted Solution

TommySzalapski earned 500 total points
ID: 34947149
I'll show you how I would do row 2 and let you figure the others out.

``````const int ITERATIONS = 6;

int multiplier = 2;
int num;

num = multiplier;
for(int i = 0; i < ITERATIONS; ++i)
{
cout<<num<<'\t';
num *= multiplier;
}
``````
0

LVL 37

Expert Comment

ID: 34947166
Then you just change multiplier for each row. Just make sure you do num = multiplier every time before you get into the loop. Note: the '\t' is the tab character to make the output look more pretty. You could also use the iomanip library and setw if you wanted to pick how wide each column should be.

Bonus: You don't need to (and shouldn't) do row 1 separately. Just set the multiplier to 1 for that row.
0

Author Comment

ID: 34947850
Thanks. I did it try to avoid the use of tab thing and use "  " but it dont work. Is there any way i can arrange them without using \t

#include <iostream>
using namespace std;

int main()
{
const int ITERATIONS = 6;
int multiplier = 1;
int num=1;
int i = 0;
int k = 0;
for(k = 0; k < 4; k++)
{
num = multiplier;
for(i = 0; i < ITERATIONS; ++i)
{
cout << num << '\t';
num *= multiplier;
}
cout << endl;
multiplier++;
}
system("pause");
return 0;
}
0

Author Closing Comment

ID: 34947853
Thanks.
0

LVL 37

Expert Comment

ID: 34947893
As I mentioned you could use setw (#include<iomanip>) to specify a width. You also could count the digits in the integer by finding the log base 10 and rounding down, but that's more complicated than necessary.
http://www.cplusplus.com/reference/iostream/manipulators/setw/
0

LVL 37

Expert Comment

ID: 34947902
So it would look something like this

``````#include<iostream>
#include<iomanip>

const int WIDTH = 10;
const int ITERATIONS = 6; //Note: consts usually go outside of main

int main()
{
cout << setw(WIDTH) << num;
}
``````

0

Author Comment

ID: 34947905
ok thanks.
0

## Featured Post

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

### Suggested Solutions

In this post we will learn how to make Android Gesture Tutorial and give different functionality whenever a user Touch or Scroll android screen.
Today, the web development industry is booming, and many people consider it to be their vocation. The question you may be asking yourself is â€“ how do I become a web developer?
The viewer will learn additional member functions of the vector class. Specifically, the capacity and swap member functions will be introduced.
Simple Linear Regression
###### Suggested Courses
Course of the Month5 days, 9 hours left to enroll