An Introduction to Programming with C++ Fifth Edition

52
An Introduction to Programming with C++ Fifth Edition Chapter 11 Arrays

description

An Introduction to Programming with C++ Fifth Edition. Chapter 11 Arrays. 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. - PowerPoint PPT Presentation

Transcript of An Introduction to Programming with C++ Fifth Edition

Page 1: An Introduction to Programming with C++ Fifth Edition

An Introduction to Programming with C++

Fifth Edition

Chapter 11Arrays

Page 2: An Introduction to Programming with C++ Fifth Edition

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

Page 3: An Introduction to Programming with C++ Fifth Edition

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

Page 4: An Introduction to Programming with C++ Fifth Edition

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

Page 5: An Introduction to Programming with C++ Fifth Edition

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

Page 6: An Introduction to Programming with C++ Fifth Edition

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

Page 7: An Introduction to Programming with C++ Fifth Edition

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

Page 8: An Introduction to Programming with C++ Fifth Edition

An Introduction to Programming with C++, Fifth Edition 8

One-Dimensional Arrays (continued)

Page 9: An Introduction to Programming with C++ Fifth Edition

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

Page 10: An Introduction to Programming with C++ Fifth Edition

An Introduction to Programming with C++, Fifth Edition 10

Storing Data in a One-Dimensional Array (continued)

Page 11: An Introduction to Programming with C++ Fifth Edition

An Introduction to Programming with C++, Fifth Edition 11

Storing Data in a One-Dimensional Array (continued)

Page 12: An Introduction to Programming with C++ Fifth Edition

An Introduction to Programming with C++, Fifth Edition 12

Storing Data in a One-Dimensional Array (continued)

Page 13: An Introduction to Programming with C++ Fifth Edition

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

Page 14: An Introduction to Programming with C++ Fifth Edition

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

Page 15: An Introduction to Programming with C++ Fifth Edition

An Introduction to Programming with C++, Fifth Edition 15

Displaying the Contents of aOne-Dimensional Array (continued)

Page 16: An Introduction to Programming with C++ Fifth Edition

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

Page 17: An Introduction to Programming with C++ Fifth Edition

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

Page 18: An Introduction to Programming with C++ Fifth Edition

An Introduction to Programming with C++, Fifth Edition 18

Searching a One-Dimensional Array (continued)

Page 19: An Introduction to Programming with C++ Fifth Edition

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

Page 20: An Introduction to Programming with C++ Fifth Edition

An Introduction to Programming with C++, Fifth Edition 20

Calculating the Average Amount Stored in a One-Dimensional Numeric

Array (continued)

Page 21: An Introduction to Programming with C++ Fifth Edition

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

Page 22: An Introduction to Programming with C++ Fifth Edition

An Introduction to Programming with C++, Fifth Edition 22

Determining the Highest Value Stored in a One-Dimensional Array (continued)

Page 23: An Introduction to Programming with C++ Fifth Edition

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

Page 24: An Introduction to Programming with C++ Fifth Edition

An Introduction to Programming with C++, Fifth Edition 24

Updating the Values Stored in aOne-Dimensional Array (continued)

Page 25: An Introduction to Programming with C++ Fifth Edition

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

Page 26: An Introduction to Programming with C++ Fifth Edition

An Introduction to Programming with C++, Fifth Edition 26

Sorting the Values Stored in aOne-Dimensional Array (continued)

Page 27: An Introduction to Programming with C++ Fifth Edition

An Introduction to Programming with C++, Fifth Edition 27

Sorting the Values Stored in aOne-Dimensional Array (continued)

Page 28: An Introduction to Programming with C++ Fifth Edition

An Introduction to Programming with C++, Fifth Edition 28

Sorting the Values Stored in aOne-Dimensional Array (continued)

Page 29: An Introduction to Programming with C++ Fifth Edition

An Introduction to Programming with C++, Fifth Edition 29

Sorting the Values Stored in aOne-Dimensional Array (continued)

Page 30: An Introduction to Programming with C++ Fifth Edition

An Introduction to Programming with C++, Fifth Edition 30

Sorting the Values Stored in aOne-Dimensional Array (continued)

Page 31: An Introduction to Programming with C++ Fifth Edition

An Introduction to Programming with C++, Fifth Edition 31

Sorting the Values Stored in aOne-Dimensional Array (continued)

Page 32: An Introduction to Programming with C++ Fifth Edition

An Introduction to Programming with C++, Fifth Edition 32

Sorting the Values Stored in aOne-Dimensional Array (continued)

Page 33: An Introduction to Programming with C++ Fifth Edition

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

Page 34: An Introduction to Programming with C++ Fifth Edition

An Introduction to Programming with C++, Fifth Edition 34

Passing a One-Dimensional Array to a Function (continued)

Page 35: An Introduction to Programming with C++ Fifth Edition

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

Page 36: An Introduction to Programming with C++ Fifth Edition

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

Page 37: An Introduction to Programming with C++ Fifth Edition

An Introduction to Programming with C++, Fifth Edition 37

Using Parallel One-Dimensional Arrays (continued)

Page 38: An Introduction to Programming with C++ Fifth Edition

An Introduction to Programming with C++, Fifth Edition 38

Using Parallel One-Dimensional Arrays (continued)

Page 39: An Introduction to Programming with C++ Fifth Edition

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

Page 40: An Introduction to Programming with C++ Fifth Edition

An Introduction to Programming with C++, Fifth Edition 40

Two-Dimensional Arrays (continued)

Page 41: An Introduction to Programming with C++ Fifth Edition

An Introduction to Programming with C++, Fifth Edition 41

Two-Dimensional Arrays (continued)

Page 42: An Introduction to Programming with C++ Fifth Edition

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

Page 43: An Introduction to Programming with C++ Fifth Edition

An Introduction to Programming with C++, Fifth Edition 43

Storing Data in a Two-Dimensional Array (continued)

Page 44: An Introduction to Programming with C++ Fifth Edition

An Introduction to Programming with C++, Fifth Edition 44

Storing Data in a Two-Dimensional Array (continued)

Page 45: An Introduction to Programming with C++ Fifth Edition

An Introduction to Programming with C++, Fifth Edition 45

Storing Data in a Two-Dimensional Array (continued)

Page 46: An Introduction to Programming with C++ Fifth Edition

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

Page 47: An Introduction to Programming with C++ Fifth Edition

An Introduction to Programming with C++, Fifth Edition 47

Searching a Two-Dimensional Array (continued)

Page 48: An Introduction to Programming with C++ Fifth Edition

An Introduction to Programming with C++, Fifth Edition 48

Searching a Two-Dimensional Array (continued)

Page 49: An Introduction to Programming with C++ Fifth Edition

An Introduction to Programming with C++, Fifth Edition 49

Searching a Two-Dimensional Array (continued)

Page 50: An Introduction to Programming with C++ Fifth Edition

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

Page 51: An Introduction to Programming with C++ Fifth Edition

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

Page 52: An Introduction to Programming with C++ Fifth Edition

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