'Multiplication Tables c++
I'm trying to build a multiplication table chart that looks like the following:
1 2 3 4 5 6 7 8 9 10
----|----|----|----|----|----|----|----|----|----|
1| 1| 2| 3| 4| 5| 6| 7| 8| 9| 10|
-|----|----|----|----|----|----|----|----|----|----|
2| 2| 4| 6| 8| 10| 12| 14| 16| 18| 20|
-|----|----|----|----|----|----|----|----|----|----|
3| 3| 6| 9| 12| 15| 18| 21| 24| 27| 30|
-|----|----|----|----|----|----|----|----|----|----|
4| 4| 8| 12| 16| 20| 24| 28| 32| 36| 40|
-|----|----|----|----|----|----|----|----|----|----|
5| 5| 10| 15| 20| 25| 30| 35| 40| 45| 50|
-|----|----|----|----|----|----|----|----|----|----|
6| 6| 12| 18| 24| 30| 36| 42| 48| 54| 60|
-|----|----|----|----|----|----|----|----|----|----|
7| 7| 14| 21| 28| 35| 42| 49| 56| 63| 70|
-|----|----|----|----|----|----|----|----|----|----|
8| 8| 16| 24| 32| 40| 48| 56| 64| 72| 80|
-|----|----|----|----|----|----|----|----|----|----|
9| 9| 18| 27| 36| 45| 54| 63| 72| 81| 90|
-|----|----|----|----|----|----|----|----|----|----|
10| 10| 20| 30| 40| 50| 60| 70| 80| 90| 100|
-|----|----|----|----|----|----|----|----|----|----|
I'm having trouble getting the lines that are inside of the table. I'm not sure if I'm supposed to put those dashed lines inside of my nested for loops or if I have to create a separate loop for them.
Here is my code:
for (int i = 1; i <= tableNumber; i++)
{
cout << setw(5) << i;
}
cout << endl << " ";
for (int x = 1; x <= tableNumber; x++)
{
cout << "----|";
}
cout << endl;
for (int row = 1; row <= tableNumber; row++)
{
cout << setw(2) << row << "|";
for (int col = 1; col <= tableNumber; col++)
{
cout << setw(4) << row*col;
cout << "|";
}
cout << endl << endl;
}
Solution 1:[1]
You're close!
I'd recommend looking at the end of your for-loop that has the nest inside of it. At the end, you just print two endlines. Perhaps instead of printing two endlines (which creates a gap in between each row), you can get it to print something else. ;-)
(I'm assuming this is homework mind you, so I'm trying not to give it away--no fun in that!)
Solution 2:[2]
You should set a row of the table, then go through and add the bottom lines. Increase the row value and continue.
Example:
int r (1);
while (r < rowNumbers)
{
for (int c = 1; c < colNumbers; c++)
{
cout << setw(4) << row*col;
cout << "|";
}
cout << endl
for (int x = 1; x <= colNumbers; x++)
{
cout << "----|";
}
court << endl;
r++;
}
This puts the lines under the numbers, then moves to the next row.
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|---|
| Solution 1 | James Palawaga |
| Solution 2 |
