MHB Create a multiplication table program

AI Thread Summary
The discussion centers on creating a C++ program that generates a multiplication table based on user input. The program must prompt the user for a number between 1 and 9, store the results in a 2-dimensional vector of integers, and allow for repeated execution until the user opts to exit. It emphasizes input validation to ensure numbers are within the specified range. Sample output demonstrates the format of the multiplication table, including both standard and reverse layouts. Additionally, tips are provided for formatting output using `setw(n)` for proper alignment of columns and reminders about zero-based indexing in C++. The conversation also touches on optimizing the multiplication table generation by recognizing matrix symmetry, suggesting an efficient approach to fill the table.
carl123
Messages
55
Reaction score
0
Create a program in C++ that makes a multiplication table. Ask the user how many numbers should be in the table.

Requirements
Store all of the data in a 2-dimensional vector of ints.
Allow the program to run repeatedly until the user is finished.
Do not allow inputs outside the range of 1-9

Sample Run
Enter the numbers for multiplication table (1-9): -1Enter the numbers for multiplication table (1-9): 10Enter the numbers for multiplication table (1-9): 4 | 1 2 3 4
- | - - - -
1 | 1 2 3 4
2 | 2 4 6 8
3 | 3 6 9 12
4 | 4 8 12 16

| 4 3 2 1
- | - - - -
4 | 16 12 8 4
3 | 12 9 6 3
2 | 8 6 4 2
1 | 4 3 2 1

Do you want to do another? (y/n) y

Enter the numbers for multiplication table (1-9): 3 | 1 2 3
- | - - -
1 | 1 2 3
2 | 2 4 6
3 | 3 6 9

| 3 2 1
- | - - -
3 | 9 6 3
2 | 6 4 2
1 | 3 2 1

Do you want to do another? (y/n) n

Things to Consider

You can use setw(n) before any number and it will add blank spaces to show the number in n columns. That is how to line up your columns.
Don't forget you have 0 based indexes and numbers that go from 1 to 9.
 
Technology news on Phys.org
Please read rule #11 (click on "Expand" button in the beginning of the page) and Mark's remark in https://driven2services.com/staging/mh/index.php?posts/75931/. To demonstrate your effort, you could describe what you know and don't know how to do in this problem.
 
carl123 said:
Create a program in C++ that makes a multiplication table. Ask the user how many numbers should be in the table.

This is a simple problem to test your understanding of 2D arrays.

You could approach it in the standard way, like this (porting the code from Python to C++ is left as an exercise to the reader ;) ):
Code:
def multi_table_(n):
    A = [[0 for i in xrange(0, n)] for j in xrange(0,n)]
    for i in xrange(0, n):
        for j in xrange(0, n):
            A[i][j] = (i + 1) * (j + 1);    print A

But you'd be wasting some computing power. You could recognise the symmetry in the matrix and approach it like this instead:
Code:
def multi_table(n):
    A = [[0 for i in xrange(0, n)] for j in xrange(0,n)]
    for i in xrange(0, n):
        for j in xrange(i, n):
            A[i][j] = (i + 1) * (j + 1);
            A[j][i] = A[i][j]    print A
 
Dear Peeps I have posted a few questions about programing on this sectio of the PF forum. I want to ask you veterans how you folks learn program in assembly and about computer architecture for the x86 family. In addition to finish learning C, I am also reading the book From bits to Gates to C and Beyond. In the book, it uses the mini LC3 assembly language. I also have books on assembly programming and computer architecture. The few famous ones i have are Computer Organization and...
I have a quick questions. I am going through a book on C programming on my own. Afterwards, I plan to go through something call data structures and algorithms on my own also in C. I also need to learn C++, Matlab and for personal interest Haskell. For the two topic of data structures and algorithms, I understand there are standard ones across all programming languages. After learning it through C, what would be the biggest issue when trying to implement the same data...

Similar threads

Replies
27
Views
3K
Replies
3
Views
1K
Replies
9
Views
2K
Replies
34
Views
3K
Replies
17
Views
1K
Replies
23
Views
2K
Back
Top