Multidimensional Arrays - PowerPoint PPT Presentation

1 / 17
About This Presentation
Title:

Multidimensional Arrays

Description:

... to the function Passing 2-D ... renters is an array of rent_pmts Multidimensional Arrays C++ arrays ... define multi-dimensional array type use ... – PowerPoint PPT presentation

Number of Views:2597
Avg rating:3.0/5.0
Slides: 18
Provided by: S10177
Category:

less

Transcript and Presenter's Notes

Title: Multidimensional Arrays


1
Multidimensional Arrays
  • Chapter 13

2
The plural of mongoose starts with a "p"
Initializing a multidimensionalarray
0 1 2 3 4
Processingby row
0 1 2 3
Printing thecontents ofan array
Processingby column
3
Two dimensional Arrays
  • A collection of components
  • all of the same type
  • structured in TWO dimensions
  • each component accessed by a PAIR of indices
    representing the components position in each
    dimension

0 1 2 3 4
0 1 2 3
Which cell isLocation (2,3) ?
4
Declaring Two Dimensional Arrays
  • Syntax data_type array_name row_dimcol_dim
  • Example
  • First element isint_table00
  • Last element isint_table43

int int_table 54
5
Processing Two-D Arrays
  • Arrays processed in some pattern
  • random
  • along rows
  • along columns
  • whole array
  • We will use the declaration shown below

int int_table 54int row, col
6
Processing Two-D Arrays
  • What does the routine below do with the array?
    What should we name the function?

total_a_row
0
7
Processing Two-D Arrays
  • What does this routine below do with the array?
    What should we name the function?

total_column
0
8
Processing Two-D Arrays
  • This function initializes an array.
  • Fill in the blanks with the correct identifiers

3
col
table
value
9
Printing a Table
  • We must process each row, item by item
  • Which will be the inner loop?Which will be the
    outer loop?
  • The LCV of the inner loop must be the one which
    changes the most often

What goeshere?
endl
10
Passing Arrays as Parameters
  • Recall declaration for 1-D array
  • we didnt specify the size in the brackets
  • we sent the size as a separate parameter
  • Recall name of the array is a pointer constant
  • tells where the array starts in memory
  • this is what is passed to the function

void whatever ( float num_list , int size)
11
Passing 2-D Arrays as Parameters
  • For a 2-D array, declare
  • We are sending the starting address
  • also how many elements it takes to jump us to the
    next row
  • that is -- the number of columns
  • Note that this could be for an array for ANY
    number of rows, but exactly 4 columns
  • As with 1-D, we also send another parameter for
    the function as a limiting value

void whatever ( float num_table 4, int
num_rows)
12
Alternate 2-D Array Definition
  • Think of the 2-D array as an array of arrays
  • Example
  • Each element of renters is an array of rent_pmts

typedef float rent_pmts 12rent_pmts renters
6
0 1 10 11
0 1 5
13
Multidimensional Arrays
  • C arrays not limited to two dimensions
  • limitation is amount of memory

const int NUM_BLDGS 10const int APTS_PER_BLDG
12float apt_pmts NUM_BLDGS6APTS_PER_BLDG

14
Multidimensional Arrays
  • C arrays not limited to two dimensions
  • limitation is amount of memory

const int NUM_BLDGS 10const int APTS_PER_BLDG
12float apt_pmts NUM_BLDGS6APTS_PER_BLDG

This gives a 3-D array with 720 itemsapt_pmt
bldgtennantapt
15
Testing and Debugging
  • Initialize all components of an array
  • no guarantee of what is there to start with
  • Use the same number of indeces as the declaration
    of array
  • Make sure indeces are in order
  • dont reverse row and column references

16
Testing and Debugging
  • Use meaningful identifiers for the array name and
    indeces
  • Double check upper and lower bounds on indeces
  • dont walk off the edge of the array
  • When declaring multidimensional array as a formal
    parameter
  • must state sizes of all but first dimension

17
Testing and Debugging
  • When calling function with array as parameter
  • sizes of multi-dim actual parameter must match
    exactly sizes of formal
  • Use typedef statement to define multi-dimensional
    array type
  • use this for actual and formal parameter
    declaration
Write a Comment
User Comments (0)
About PowerShow.com