An Introduction to Programming with C++ Fifth Edition
-
Upload
martina-nichols -
Category
Documents
-
view
39 -
download
1
description
Transcript of An Introduction to Programming with C++ Fifth Edition
An Introduction to Programming with C++
Fifth Edition
Chapter 11Arrays
An Introduction to Programming with C++, Fifth Edition 2
Objectives
• Declare and initialize a one-dimensional array
• Manipulate a one-dimensional array
• Explain the bubble sort algorithm
• Pass a one-dimensional array to a function
• Use parallel one-dimensional arrays
An Introduction to Programming with C++, Fifth Edition 3
Objectives (continued)
• Declare and initialize a two-dimensional array
• Enter data into a two-dimensional array
• Search a two-dimensional array
• Utilize a one-dimensional array in a .NET C++ program
An Introduction to Programming with C++, Fifth Edition 4
Concept Lesson
• Using Arrays
• One-Dimensional Arrays
• Storing Data in a One-Dimensional Array
• Manipulating One-Dimensional Arrays
• Passing a One-Dimensional Array to a Function
An Introduction to Programming with C++, Fifth Edition 5
Concept Lesson (continued)
• Using Parallel One-Dimensional Arrays
• Two-Dimensional Arrays
• Storing Data in a Two-Dimensional Array
• Searching a Two-Dimensional Array
An Introduction to Programming with C++, Fifth Edition 6
Using Arrays
• Simple variable is unrelated to other variables in computer’s internal memory– Also called a scalar variable
• Array is a group of variables– Same name and data type– Variables are related in some way– Most commonly used
• One-dimensional
• Three-dimensional
An Introduction to Programming with C++, Fifth Edition 7
One-Dimensional Arrays
• Visualize a one-dimensional array as a column of variables– Subscript (or index) identifies each variable
• Indicates the variable’s position in the array
• Subscript of first variable is 0
• Begin by populating the array so it does not contain garbage
Element
An Introduction to Programming with C++, Fifth Edition 8
One-Dimensional Arrays (continued)
An Introduction to Programming with C++, Fifth Edition 9
Storing Data in a One-Dimensional Array
• Can use an assignment statement to enter data into an array– See Figure 11-3
• Can use >> and getline()– See Figure 11-4
An Introduction to Programming with C++, Fifth Edition 10
Storing Data in a One-Dimensional Array (continued)
An Introduction to Programming with C++, Fifth Edition 11
Storing Data in a One-Dimensional Array (continued)
An Introduction to Programming with C++, Fifth Edition 12
Storing Data in a One-Dimensional Array (continued)
An Introduction to Programming with C++, Fifth Edition 13
Manipulating One-Dimensional Arrays
• Common array manipulation functions– Display the contents of an array– Access an array element using its subscript– Search an array– Calculate the average of the data stored in an array– Find the highest value stored in an array– Update the array elements– Sort the array elements using bubble sort
An Introduction to Programming with C++, Fifth Edition 14
Displaying the Contents of aOne-Dimensional Array
• Function may need simply to display the contents of an array
An Introduction to Programming with C++, Fifth Edition 15
Displaying the Contents of aOne-Dimensional Array (continued)
An Introduction to Programming with C++, Fifth Edition 16
Using the Subscript to Access an Element in a One-Dimensional Array
• Before accessing element, verify if subscript is valid
An Introduction to Programming with C++, Fifth Edition 17
Searching a One-Dimensional Array
• Sales manager wants to determine the number of salespeople selling above a specific amount– Function searches the sales array
• Array contains amount sold by each salesperson
• Look for values greater than the amount provided by sales manager
An Introduction to Programming with C++, Fifth Edition 18
Searching a One-Dimensional Array (continued)
An Introduction to Programming with C++, Fifth Edition 19
Calculating the Average Amount Stored in a One-Dimensional Numeric Array
• Prof. Jeremiah wants to calculate and display average test score earned by students on final– Function adds test scores that are stored in array
• Then, divide sum by number of elements
An Introduction to Programming with C++, Fifth Edition 20
Calculating the Average Amount Stored in a One-Dimensional Numeric
Array (continued)
An Introduction to Programming with C++, Fifth Edition 21
Determining the Highest Value Stored in a One-Dimensional Array
• Sharon Johnson keeps track of the amount of money she earns each week– Function displays highest amount earned in a week
• Stores pay amounts in a one-dimensional array
An Introduction to Programming with C++, Fifth Edition 22
Determining the Highest Value Stored in a One-Dimensional Array (continued)
An Introduction to Programming with C++, Fifth Edition 23
Updating the Values Stored in aOne-Dimensional Array
• Sales manager at Jillian Company wants a function that increases the price of each item company sells– Function stores prices in a one-dimensional array
• Then, increase value stored in each element
• Also, display each item’s new price on screen
An Introduction to Programming with C++, Fifth Edition 24
Updating the Values Stored in aOne-Dimensional Array (continued)
An Introduction to Programming with C++, Fifth Edition 25
Sorting the Values Stored in aOne-Dimensional Array
• Arranging data in a specific order is called sorting– Ascending or descending order
• Bubble sort is quick and easy (for small arrays)– Adjacent elements that are out of order are swapped
An Introduction to Programming with C++, Fifth Edition 26
Sorting the Values Stored in aOne-Dimensional Array (continued)
An Introduction to Programming with C++, Fifth Edition 27
Sorting the Values Stored in aOne-Dimensional Array (continued)
An Introduction to Programming with C++, Fifth Edition 28
Sorting the Values Stored in aOne-Dimensional Array (continued)
An Introduction to Programming with C++, Fifth Edition 29
Sorting the Values Stored in aOne-Dimensional Array (continued)
An Introduction to Programming with C++, Fifth Edition 30
Sorting the Values Stored in aOne-Dimensional Array (continued)
An Introduction to Programming with C++, Fifth Edition 31
Sorting the Values Stored in aOne-Dimensional Array (continued)
An Introduction to Programming with C++, Fifth Edition 32
Sorting the Values Stored in aOne-Dimensional Array (continued)
An Introduction to Programming with C++, Fifth Edition 33
Passing a One-Dimensional Array to a Function
• By default, scalar variables are passed by value– To pass by reference, use address-of (&) operator
• Arrays in C++ are passed by reference – More efficient – Address of first element is passed to function– Address-of operator is not used
An Introduction to Programming with C++, Fifth Edition 34
Passing a One-Dimensional Array to a Function (continued)
An Introduction to Programming with C++, Fifth Edition 35
Using Parallel One-Dimensional Arrays
• Takoda Tapahe wants a program that displays the price of the item whose product ID she enters
An Introduction to Programming with C++, Fifth Edition 36
Using Parallel One-Dimensional Arrays (continued)
• Parallel arrays are two or more arrays whose elements are related by their position in the arrays– Related by their subscript
An Introduction to Programming with C++, Fifth Edition 37
Using Parallel One-Dimensional Arrays (continued)
An Introduction to Programming with C++, Fifth Edition 38
Using Parallel One-Dimensional Arrays (continued)
An Introduction to Programming with C++, Fifth Edition 39
Two-Dimensional Arrays
• Two-dimensional array resembles a table– Elements are in rows and columns– Each element is identified by two subscripts
• Subscripts specify the variable’s row and column position in the array
An Introduction to Programming with C++, Fifth Edition 40
Two-Dimensional Arrays (continued)
An Introduction to Programming with C++, Fifth Edition 41
Two-Dimensional Arrays (continued)
An Introduction to Programming with C++, Fifth Edition 42
Storing Data in a Two-Dimensional Array
• You can use an assignment statement to enter data into a two-dimensional array– Or use >> and getline()
• Use two loops to access every element in a two-dimensional array– One loop tracks row subscript– Other loop tracks column subscript
An Introduction to Programming with C++, Fifth Edition 43
Storing Data in a Two-Dimensional Array (continued)
An Introduction to Programming with C++, Fifth Edition 44
Storing Data in a Two-Dimensional Array (continued)
An Introduction to Programming with C++, Fifth Edition 45
Storing Data in a Two-Dimensional Array (continued)
An Introduction to Programming with C++, Fifth Edition 46
Searching a Two-Dimensional Array
• Two one-dimensional (parallel) arrays can be replaced with one two-dimensional array
An Introduction to Programming with C++, Fifth Edition 47
Searching a Two-Dimensional Array (continued)
An Introduction to Programming with C++, Fifth Edition 48
Searching a Two-Dimensional Array (continued)
An Introduction to Programming with C++, Fifth Edition 49
Searching a Two-Dimensional Array (continued)
An Introduction to Programming with C++, Fifth Edition 50
Summary
• An array is a group of variables that have the same name and data type and are related in some way– One-dimensional
• Visualize as a column of variables
– Two-dimensional• Visualize as a table
• You must declare an array before you can use it
• Each elements in a one-dimensional array is assigned a subscript– First element has subscript 0
An Introduction to Programming with C++, Fifth Edition 51
Summary (continued)
• Parallel arrays are two or more arrays whose elements are related by their subscript in the arrays
• To create a two-dimensional array specify the number of rows and columns– Each element is identified by two subscripts
• First subscript represents the element’s row location
• Second subscript represents its column location
• Use two loops to access every element in a two-dimensional array
An Introduction to Programming with C++, Fifth Edition 52
Application Lesson: Using Arrays in a C++ Program
• Lab 11.1: Stop and Analyze
• Lab 11.2– Program should either display the monthly rainfall
amounts on the screen or calculate and display the total rainfall amount
• Lab 11.3– Modified program will use a value-returning function, calcTotal(), to calculate the total rainfall amount
• Lab 11.4: Desk-Check Lab
• Lab 11.5: Debugging Lab