$25
Question 1: Write a program that reads a positive integer n from the user and prints out a nxn multiplication table. The columns should be spaced by a tab.
Your program should interact with the user exactly as it shows in the following example: Please enter a positive integer:
10
1 2 3 4 5 6 7 8 9 10
2 4 6 8 10 12 14 16 18 20
3 6 9 12 15 18 21 24 27 30
4 8 12 16 20 24 28 32 36 40
5 10 15 20 25 30 35 40 45 50 6 12 18 24 30 36 42 48 54 60 7 14 21 28 35 42 49 56 63 70 8 16 24 32 40 48 56 64 72 80
9 18 27 36 45 54 63 72 81 90
10 20 30 40 50 60 70 80 90 100
Question 2:
Implement a number guessing game. The program should randomly choose an integer between 1 and 100 (inclusive), and have the user try to guess that number.
Implementations guidelines:
1. The user can guess at most 5 times.
2. Before each guess the program announces:
• An updated guessing-range, taking in to account previous guesses and responses.
• The number of guesses that the user has left.
3. If the user guessed correctly, the program should announce that, and also tell how many guesses the user used.
4. If the user guessed wrong, and there are still guesses left, the program should tell the user if the number (it chose) is bigger or smaller than the number that the user guessed.
5. If the user didn’t guess the number in all of the 5 tries, the program should reveal the number it chose.
6. Follow the execution examples below for the exact format.
In order to generate random numbers (of type int), you should first call the srand function (one time) to initialize a seed for the random number generator. Then, you can call the rand function repeatedly to generate random integers.
Follow the syntax as demonstrated in the code below:
1. #include <iostream>
2. #include <cstdlib>
3. #include <ctime>
4. using namespace std; 5.
6. int main() {
7. int x1, x2, x3, x4; 8.
9. srand(time(0)); 10.
11. x1 = rand();
12. x2 = rand();
13. x3 = rand() % 100;
14. x4 = (rand() % 100) + 1; 15.
16. cout<<x1<<" "<<x2<<" "<<x3<<" "<<x4<<endl; 17.
18. return 0;
19. }
Note that we first included the cstdlib and ctime libraries (lines 2 and 3).
In line 9 we called srand(time(0)) to create the seed for the random number generator. Then, in lines 11-14, we created 4 random numbers: The first two were taken from the entire positive range of int variables. For x3 and x4 we used arithmetic manipulation to change the range. x3 would be in the range 0-99 (since these are the possible remainders when dividing a number by 100), and x4 would be in the range of 1-100 (shifting the range 0-99 by 1).
Further reading regarding random number generation can be found in the textbook on pages 188-189.
Your program should interact with the user exactly as it shows in the following two examples:
Execution example 1:
I thought of a number between 1 and 100! Try to guess it.
Range: [1, 100], Number of guesses left: 5
Your guess: 15
Wrong! My number is bigger.
Range: [16, 100], Number of guesses left: 4
Your guess: 34
Wrong! My number is smaller.
Range: [16, 33], Number of guesses left: 3
Your guess: 23
Congrats! You guessed my number in 3 guesses.
Execution example 2:
I thought of a number between 1 and 100! Try to guess it.
Range: [1, 100], Number of guesses left: 5
Your guess: 15
Wrong! My number is bigger.
Range: [16, 100], Number of guesses left: 4
Your guess: 50
Wrong! My number is smaller.
Range: [16, 49], Number of guesses left: 3
Your guess: 3
Wrong! My number is bigger.
Range: [16, 49], Number of guesses left: 2
Your guess: 34
Wrong! My number is smaller.
Range: [16, 33], Number of guesses left: 1
Your guess: 20
Out of guesses! My number is 25
Question 3:
Solve the following questions from the Discrete Math zyBook: a) Exercise 4.1.3, sections b, c
b) Exercise 4.1.5, sections b, d, h, i, l
Question 4:
I. Solve the following questions from the Discrete Math zyBook:
a. Exercise 4.2.2, sections c, g, k
b. Exercise 4.2.4, sections b, c, d, g
II. Give an example of a function from the set of integers to the set of positive integers that is
: a. one-to-one, but not onto.
b. onto, but not one-to-one.
c. one-to-one and onto.
d. neither one-to-one nor onto
Question 5:
Solve the following questions from the Discrete Math zyBook: a) Exercise 4.3.2, sections c, d, g, i
b) Exercise 4.4.8, sections c, d
c) Exercise 4.4.2, sections b-d
d) Exercise 4.4.6, sections c-e
e) Extra Credit: Exercise 4.4.4, sections c, d