The document discusses two-dimensional and multidimensional arrays. It covers declaring and passing two-dimensional arrays, as well as declaring multidimensional arrays. It also provides an example of calculating row and column averages from data in a two-dimensional array using incremental development. Various sorting and searching algorithms are analyzed in terms of testing approaches and computational efficiency.
Download as PPT, PDF, TXT or read online on Scribd
0 ratings0% found this document useful (0 votes)
799 views
2D Array
The document discusses two-dimensional and multidimensional arrays. It covers declaring and passing two-dimensional arrays, as well as declaring multidimensional arrays. It also provides an example of calculating row and column averages from data in a two-dimensional array using incremental development. Various sorting and searching algorithms are analyzed in terms of testing approaches and computational efficiency.
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 38
8-7 Two-Dimensional Arrays
The arrays we have discussed so far are known as one-
dimensional arrays because the data are organized linearly in only one direction. Many applications require that data be stored in more than one dimension. One common example is a table, which is an array that consists of rows and columns.
Topics discussed in this section:
Declaration Passing A Two-Dimensional Array
Computer Science: A Structured Programming Approach Using C 1
FIGURE 8-34 Two-dimensional Array
Computer Science: A Structured Programming Approach Using C 2
FIGURE 8-35 Array Of Arrays
Computer Science: A Structured Programming Approach Using C 3
PROGRAM 8-15 Fill Two-dimensional Array
Computer Science: A Structured Programming Approach Using C 4
FIGURE 8-36 Memory Layout
Computer Science: A Structured Programming Approach Using C 5
PROGRAM 8-16 Convert Table to One-dimensional Array
Computer Science: A Structured Programming Approach Using C 6
PROGRAM 8-16 Convert Table to One-dimensional Array
Computer Science: A Structured Programming Approach Using C 7
FIGURE 8-37 Passing a Row
Computer Science: A Structured Programming Approach Using C 8
FIGURE 8-38 Calculate Average of Integers in Array
Computer Science: A Structured Programming Approach Using C 9
FIGURE 8-39 Example of Filled Matrix
Computer Science: A Structured Programming Approach Using C 10
PROGRAM 8-17 Fill Matrix
Computer Science: A Structured Programming Approach Using C 11
PROGRAM 8-17 Fill Matrix
Computer Science: A Structured Programming Approach Using C 12
8-8 Multidimensional Arrays
Multidimensional arrays can have three, four, or more
dimensions. The first dimension is called a plane, which consists of rows and columns. The C language considers the three-dimensional array to be an array of two-dimensional arrays.
Topics discussed in this section:
Declaring Multidimensional Arrays
Computer Science: A Structured Programming Approach Using C 13
FIGURE 8-40 A Three-dimensional Array (3 x 5 x 4)
Computer Science: A Structured Programming Approach Using C 14
FIGURE 8-41 C View of Three-dimensional Array
Computer Science: A Structured Programming Approach Using C 15
8-9 Programming Example— Calculate Averages We previously introduced the programming concept known as incremental development. In this chapter we develop an example—calculate average—that contains many of the programming techniques.
Topics discussed in this section:
First Increment: mainYour First C Second Increment: Get Data Third Increment: Calculate Row Averages Fourth Increment: Calculate Column Averages Fifth Increment: Print Tables Computer Science: A Structured Programming Approach Using C 16 FIGURE 8-42 Data Structures For Calculate Row–Column Averages
Computer Science: A Structured Programming Approach Using C 17
FIGURE 8-43 Calculate Row–Column Average Design
Computer Science: A Structured Programming Approach Using C 18
PROGRAM 8-18 Calculate Row and Column Averages: main
Computer Science: A Structured Programming Approach Using C 19
PROGRAM 8-19 Calculate Row and Column Averages: Get Data
Computer Science: A Structured Programming Approach Using C 20
PROGRAM 8-19 Calculate Row and Column Averages: Get Data
Computer Science: A Structured Programming Approach Using C 21
PROGRAM 8-19 Calculate Row and Column Averages: Get Data
Computer Science: A Structured Programming Approach Using C 22
PROGRAM 8-19 Calculate Row and Column Averages: Get Data
Computer Science: A Structured Programming Approach Using C 23
PROGRAM 8-20 Calculate Row and Column Averages: Row Averages
Computer Science: A Structured Programming Approach Using C 24
PROGRAM 8-20 Calculate Row and Column Averages: Row Averages
Computer Science: A Structured Programming Approach Using C 25
PROGRAM 8-20 Calculate Row and Column Averages: Row Averages
Computer Science: A Structured Programming Approach Using C 26
PROGRAM 8-20 Calculate Row and Column Averages: Row Averages
Computer Science: A Structured Programming Approach Using C 27
PROGRAM 8-20 Calculate Row and Column Averages: Row Averages
Computer Science: A Structured Programming Approach Using C 28
8-10 Software Engineering In this section, we discuss two basic concepts: testing and algorithm efficiency. To be effective, testing must be clearly thought out. We provide some concepts for testing array algorithms by studying sorting and searching. We then continue the algorithm efficiency discussion started in Chapter 6.
Topics discussed in this section:
Testing Sorts Testing Searches Analyzing Sort Algorithms Analyzing Search Algorithms Computer Science: A Structured Programming Approach Using C 29 Table 8-2 Recommended Sort Test Cases
Computer Science: A Structured Programming Approach Using C 30
Note When testing an array search, always access the first and last elements.
Computer Science: A Structured Programming Approach Using C 31
Table 8-3 Test cases for searches
Computer Science: A Structured Programming Approach Using C 32
Note The efficiency of the bubble sort is O(n2).
Computer Science: A Structured Programming Approach Using C 33
Note The efficiency of the selection sort is O(n2).
Computer Science: A Structured Programming Approach Using C 34
Note The efficiency of the insertion sort is O(n2).
Computer Science: A Structured Programming Approach Using C 35
Note The efficiency of the sequential search is O(n).
Computer Science: A Structured Programming Approach Using C 36
Note The efficiency of the binary search is O(logn).
Computer Science: A Structured Programming Approach Using C 37
Table 8-4 Comparison of binary and sequential searches
Computer Science: A Structured Programming Approach Using C 38