Multiplication Grid

Multiplication Table

Use nested loops to generate a multiplication table with numbers from 1-15.

Use \t (the escape sequence for a tab) to space the numbers.

Expected Output

        1       2       3       4       5       6       7       8       9       10      11      12      13      14     15
1       1       2       3       4       5       6       7       8       9       10      11      12      13      14     15
2       2       4       6       8       10      12      14      16      18      20      22      24      26      28     30
3       3       6       9       12      15      18      21      24      27      30      33      36      39      42     45
4       4       8       12      16      20      24      28      32      36      40      44      48      52      56     60
5       5       10      15      20      25      30      35      40      45      50      55      60      65      70     75
6       6       12      18      24      30      36      42      48      54      60      66      72      78      84     90
7       7       14      21      28      35      42      49      56      63      70      77      84      91      98     105
8       8       16      24      32      40      48      56      64      72      80      88      96      104     112    120
9       9       18      27      36      45      54      63      72      81      90      99      108     117     126    135
10      10      20      30      40      50      60      70      80      90      100     110     120     130     140    150
11      11      22      33      44      55      66      77      88      99      110     121     132     143     154    165
12      12      24      36      48      60      72      84      96      108     120     132     144     156     168    180
13      13      26      39      52      65      78      91      104     117     130     143     156     169     182    195
14      14      28      42      56      70      84      98      112     126     140     154     168     182     196    210
15      15      30      45      60      75      90      105     120     135     150     165     180     195     210    225

Answer

#include <iostream>

int main()
{
	// Print the top row of numbers to be multiplied.
	for (int x = 1; x <= 15; x++)
		std::cout << "\t" << x;
	// Jump to the next row of numbers (the start of multiplication)
	std::cout << "\n";

	for (int y = 1; y <= 15; y++)
	{
		// The first column is dedicated to show the multiplication number.
		std::cout << y;
		// After that each column is a product of x and y multiplied.
		for (int x = 1; x <= 15; x++)
			std::cout << "\t" << x*y;

		// When we have output every column of the row we jump to the next row.
		std::cout << "\n";
	}
}

We can view our numbers as placed in a column and row. Using \t moves our output to the next column. Using \n moves our output to the next row, in the first column.

We cannot traverse backwards, so it's important that we handle each row fully before moving to the next. Because of this the outermost loop are the ones for rows, and the inner one handles the columns.

Questions