Sunteți pe pagina 1din 52

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

An Introduction to Programming with C++, Fifth Edition

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

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

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

Using Arrays
Simple variable is unrelated to other variables in computers 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

One-Dimensional Arrays
Visualize a one-dimensional array as a column of variables
Subscript (or index) identifies each variable
Indicates the variables position in the array Subscript of first variable is 0
Element

Begin by populating the array so it does not contain garbage


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

One-Dimensional Arrays (continued)

An Introduction to Programming with C++, Fifth Edition

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

Storing Data in a One-Dimensional Array (continued)

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

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

13

Displaying the Contents of a One-Dimensional Array


Function may need simply to display the contents of an array

An Introduction to Programming with C++, Fifth Edition

14

Displaying the Contents of a One-Dimensional Array (continued)

An Introduction to Programming with C++, Fifth Edition

15

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

16

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

17

Searching a One-Dimensional Array (continued)

An Introduction to Programming with C++, Fifth Edition

18

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

19

Calculating the Average Amount Stored in a One-Dimensional Numeric Array (continued)

An Introduction to Programming with C++, Fifth Edition

20

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

21

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

An Introduction to Programming with C++, Fifth Edition

22

Updating the Values Stored in a One-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 items new price on screen

An Introduction to Programming with C++, Fifth Edition

23

Updating the Values Stored in a One-Dimensional Array (continued)

An Introduction to Programming with C++, Fifth Edition

24

Sorting the Values Stored in a One-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

25

Sorting the Values Stored in a One-Dimensional Array (continued)

An Introduction to Programming with C++, Fifth Edition

26

Sorting the Values Stored in a One-Dimensional Array (continued)

An Introduction to Programming with C++, Fifth Edition

27

Sorting the Values Stored in a One-Dimensional Array (continued)

An Introduction to Programming with C++, Fifth Edition

28

Sorting the Values Stored in a One-Dimensional Array (continued)

An Introduction to Programming with C++, Fifth Edition

29

Sorting the Values Stored in a One-Dimensional Array (continued)

An Introduction to Programming with C++, Fifth Edition

30

Sorting the Values Stored in a One-Dimensional Array (continued)

An Introduction to Programming with C++, Fifth Edition

31

Sorting the Values Stored in a One-Dimensional Array (continued)

An Introduction to Programming with C++, Fifth Edition

32

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

33

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

An Introduction to Programming with C++, Fifth Edition

34

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

35

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

36

Using Parallel One-Dimensional Arrays (continued)

An Introduction to Programming with C++, Fifth Edition

37

Using Parallel One-Dimensional Arrays (continued)

An Introduction to Programming with C++, Fifth Edition

38

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 variables row and column position in the array

An Introduction to Programming with C++, Fifth Edition

39

Two-Dimensional Arrays (continued)

An Introduction to Programming with C++, Fifth Edition

40

Two-Dimensional Arrays (continued)

An Introduction to Programming with C++, Fifth Edition

41

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 twodimensional array


One loop tracks row subscript Other loop tracks column subscript

An Introduction to Programming with C++, Fifth Edition

42

Storing Data in a Two-Dimensional Array (continued)

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

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

46

Searching a Two-Dimensional Array (continued)

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

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 50

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 elements row location Second subscript represents its column location

Use two loops to access every element in a twodimensional array

An Introduction to Programming with C++, Fifth Edition

51

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


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

S-ar putea să vă placă și