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
 
Thread 'Is this public key encryption?'
I've tried to intuit public key encryption but never quite managed. But this seems to wrap it up in a bow. This seems to be a very elegant way of transmitting a message publicly that only the sender and receiver can decipher. Is this how PKE works? No, it cant be. In the above case, the requester knows the target's "secret" key - because they have his ID, and therefore knows his birthdate.
I tried a web search "the loss of programming ", and found an article saying that all aspects of writing, developing, and testing software programs will one day all be handled through artificial intelligence. One must wonder then, who is responsible. WHO is responsible for any problems, bugs, deficiencies, or whatever malfunctions which the programs make their users endure? Things may work wrong however the "wrong" happens. AI needs to fix the problems for the users. Any way to...

Similar threads

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