Solving assignment programming C++

profileomaralekhmimi
firstname_lastname_cpsc120_seclab8_v2.doc

CPSC 120 Spring 2014

Lab 8

Name _____________________________

Practice Objectives of this Lab:

1. Arrays Hold Multiple Values

2. Accessing Array Elements

3. Inputting and Displaying Array Contents

4. Array Initialization

5. Processing Array Contents

6. Using Parallel Arrays

7. Two-Dimensional Arrays

Grading:

1. 8.1 10 points

8.2-7.7 15 points each

100 points totally

2. Your final complete solution report is due before your lab in next week(April. 27—May.3rd).

To begin

· Log on to your system and create a folder named Lab8 in your work space.

· Start the C++ IDE (Visual Studio) and create a project named Lab8.

· Please refer to the PPTs, Chapter 8 in our Textbook.

LAB 8.1– TRY IT: You do not need to complete all of them (at least 60%). These questions help you review the basic concepts in Arrays.

1. Declare   an array   named   scores of twenty-five elements   of type   int   .

2. Write a statement   that declares   an array   of char   named   streetAddress that contains exactly eighty   elements  .

3. Given   the array   a , write an expression   that refers to the first   element   of the array  .

4. Given   an array   a , declared   to contain 34 elements  , write an expression   that refers to the last   element   of the array  .

5. Assume   that the array   arr has been declared  . In addition, assume   that ARR_SIZE has been defined to be an integer   that equals   the number of elements   in arr . Write a statement   that assigns   to x the value   of the next to last   element   of the array   ( x has already   been declared  ).

6. Assume   that the array   monthSales of integers   has already   been declared   and that its elements   contain sales data for the 12 months of the year in order (i.e., January, February, etc.). Write a statement   that writes to standard output   the element   corresponding to October. Do not write anything else out to standard output  .

7. Given   that an array   of int   named   a has been declared  , assign   3 to its first  element  .

8. Assume   that an array   of int   variables   named   salarySteps that contains exactly five elements   has been declared  . Write a single statement   to assign   the value   30000 to the first   element   of this array  .

9. Assume   that an array   of integers   named   salarySteps that contains exactly five elements   has been declared  . Write a statement   that assigns   the value   160000 to the last   element   of the array   salarySteps .

10. Assume   that an array   named   a , containing exactly five integers   has been declared   and initialized  . Write a single statement   that adds ten to the value   stored   in the first   element   of the array  .

11. Given   that an array   of int   named   a has been declared  , and that the integer   variable   n contains the number of elements   of the array   a, assign  -1 (minus one) to the last  element  in a.

12. Assume   that an array   of int   named   a has been declared   with 12 elements   and that the integer   variable   k holds a value   between   0 and 6. Assign 15 to the array   element   whose index is k .

13. Given   that an array   of int   named   a has been declared   with 12 elements   and that the integer   variable   k holds a value   between   0 and 6. Assign 9 to the element   just after a[k] .

14. Assume   that an array   of integers   named   a that contains exactly five elements   has been declared   and initialized  . Write a single statement   that assigns   a new value   to the first   element   of the array  . This new value   should be equal   to twice the value   stored   in the last   element   of the array  . Do not modify any values   in the array   other than the first element  .

15. Suppose v is an array with 100 int elements. If 100 is assigned to v[100], what happens? image1.wmf The compiler issues an error message. image2.wmf The compiler issues a warning message. image3.wmf The program will terminate immediately. image4.wmf Another variable or array will very likely be unexpectedly modified.

16. QUESTION 1:   

An array of 1000 integers is declared. What is the largest integer that can be used as an index to the array? image5.wmf 1001 image6.wmf 1000 image7.wmf 999

17. QUESTION 2:   

Consider the declaration: int v[1]; What is the index of the last element of this array? image8.wmf 0 image9.wmf 1 image10.wmf 2

18. Declare   an array   named   a of 10 elements   of type   int   and initialize   the elements   (starting with the first) to the values   10, 20, ..., 100, respectively.

19. Declare   an array   named   taxRates of 5 elements   of type   double   and initialize   the elements   (starting with the first) to the values   0.10, 0.15, 0.21, 0.28, 0.31, respectively.

20. Write a statement   to declare   and initialize   an array   of int   named   denominations that contains exactly six elements  . Your declaration   statement   should initialize   the elements   of the array   to the following values  : 1, 5, 10, 25, 50, 100. (The value   1 goes into the first element  ; the value   100 to the last.)

21. Given   an array   temps of double   , containing temperature data, and an int   variable   n that contains the number of elements   in temps : Compute the average temperature and store   it in a variable   called avgTemp . Besides temps , n , and avgTemp , you may use only two other variables   -- an int   variable   k and a double   variable   total , which have been declared  .

22. Reversing the elements   of an array   involves swapping the corresponding elements   of the array  : the first with the last, the second with the next to the last, and so on, all the way to the middle of the array  . Given   an array   a , an int   variable   n containing the number of elements   in a , and two other int   variables  , k and temp , write a loop that reverses the elements   of the array  . Do not use any other variables   besides a , n , k , and temp .

23. Declare   a 8x8 two-dimensional array   of strings   named   chessboard.

24. Given   a two-dimensional array   x of doubles  , write an expression   whose value   is twice the value   of the element   in the 3rd row and the 2nd column.

25. Gi ven   a two-dimensional array   x of element   type   int   , write an expression   whose value   is the sum   of the element   in the 3rd row and4th column and the element   in the 5th rowand 1st column.

26. Given   a two-dimensional array   x of element   type   int   with 5 rows and 4 columns, write an expression   whose value   the last element   in the array   (the last column of the last row).

27. Given   a two-dimensional array   x of element   type   double   , and two integer   variables   i and j , write an expression   whose value   is the i-th element   in the j-th row.

28. Given   a two-dimensional array   of integers   named   q , with 2 rows and 4 columns, write some code that puts a zero in every element   of q . Declare   any variables   needed to help you.

29. You are given   a 6x8 (6 rows, 8 columns) array   of integers  , x , already   initialized   and three integer   variables  : max , i and j . Write the necessary code so that max will have the largest value   in the array   x .

Please do the following few Programming Projects in the following way.

1) Pseudocode of your program (20% grading);

2) Your C++ source code (include your name, section number, CSUF email, lab number and date (60% grading);

3) Screenshots gotten using any reasonable testing cases or as required (20% grading)

8.2 (15 points) Write a short program that prompts the user and reads in integers into an array called Table. When the user enters a negative number, the input stops. Keep track of how many numbers were read in (at least 5 and no more than 10; what size should you declare the array to have?)

--At least 1 screenshot for testing

8.3 (15 points) Based on your solution of 8.2, add code to do the following (only include your complete pseudocode after step 4 in your report):

1) Print how many numbers were read in, and then print out all the numbers that were stored in the array.

2) Find and print the sum of the numbers in the array.

3) Find the average of the numbers in the array. (Make sure the average is a real number, not an integer.)

4) Then find and print how many of the numbers are less than the average calculated above, how many are exactly the same value as the average, and how many were greater than the average. Test and make sure it works.

--At least 1 screenshot for each step’s testing (totally 4)

8.4 (15 points) Add code to do the following based on your solution of exercise 8.3:

Ask the user for a value and see if it is in the array. If found, the program should print “Found at” followed by the index where the value was found. Ask the user whether to repeat and keep repeating if the user wants to. (The body of the loop would be:

Asking user for a value and reading it in.

Searching for the value in the array and printing either “Not found.” or “Found at index ….”. Asking user whether to continue and reading in the answer.)

Test using different values. At a minimum, test using the following values:

a. value not in the array.

b. the first value of the array,

c. the last value in the array

d. value in the array somewhere between the first and the last values.

--At least 1 screenshot for each case’s testing (totally 4)

8.5 (15 points) Add code to do the following based on your solution of exercise 8.4:

Find and print the smallest value in the array AND the index where it is located. Then write code that will swap the smallest value and the first value in the array.

--At least 1 screenshot for testing

8.6 (15 points) Programming Challenges of Chapter 8 # 4 Monkey Business (Page 587)

image11.png

8.7 (15 points) Write a program that reads in sales for different items in a chain of 6 stores. This means that you read in an item ID, a one word description, the item price, followed by 6 numbers representing the number of that item sold at the 6 stores. Keep reading in item data until the user enters -1 where the item ID should be.

Sample input:

4715 toy_car 3.00 7 4 3 6 5 6

6813 birthday_card 2.00 16 8 15 4 12 19

-1

You should use an array for all the IDs, an array of strings for the item description, another array for the prices, and a 2D array for the sales. These should be parallel arrays; that is, the item with its ID stored at index 2 will have its item description at index 2, its price in the price array at index 2, and the numbers of that item sold will be in the row 2.

1) First write code that will print out the data, reproducing the input pattern (that is, the first row will print out the ID, price, and sales for the first item. Use it to check that the input went correctly.

(2 testing screenshots)

2) Now add to the program an interactive loop, asking what data the user wishes to see. Choice 1 should be the complete array contents you wrote for the previous problem.

(1 testing screenshot)

3) Then for the other choices (one choice should be able to quit), you will write the code for the following tasks that use the arrays.

1) Given an item ID, print out the total sales for that item for the whole chain. (2 testing screenshots)

2) Given one store (0, 1, … 5), print the actual $ values the sales represents for each item.

(2 testing screenshots)

3) Given one store, print out the item that had the largest total $ value of the sales.

(2 testing screenshots)

4) Given an item, print out the store that sold the most and the store that sold the fewest.

(2 testing screenshots)

1

_1459571805.unknown

_1459571807.unknown

_1459571808.unknown

_1459571806.unknown

_1459571803.unknown

_1459571804.unknown

_1459571801.unknown

_1459571802.unknown

_1459571800.unknown

_1459571799.unknown