1. Trang chủ
  2. » Công Nghệ Thông Tin

Lecture Programming in C++ - Chapter 10: Multi-dimensional numeric arrays

13 98 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 13
Dung lượng 358,06 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Lecture Programming in C++ - Chapter 10: Multi-dimensional numeric arrays. On completion of this chapter students will know how to: Initialize multidimensional arrays, print multidimensional arrays, read a file for array element values, visualize storage, pass an array to a function.

Trang 1

Numeric Arrays

Trang 2

Visual image of matrix or table for two­

dimensional array

Subscript for each dimension

Declared with value for each dimension

       int b[2] [3];

Lesson 10.1

Name of array Type of array

Two sets of [ ] so two dimensionalNumber of elements      2*3 = 6

Trang 3

Initialized by row

Example:  int b[2] [3] ={51, 52, 53, 54, 55,  56};

Elements would be:

b[0] [0] = 51  b[0] [1] = 52 b[0] [2] = 53 b[1] [0] = 54  b[1] [1] = 55 b[1] [2] = 56

Lesson 10.1

Remember – subscripts begin at zero!

Trang 4

Can use braces to separate rows

Lesson 10.1

int c [4] [3] = {{ 1,  2,  3},        { 4,  5,  6},        { 7,  8,  9},        {10, 11, 12}};

Advantage is visual table!

Trang 5

Lesson 10.1

int c[4] [3] = {{1,2},       {4, 5, 6},       {7},

      {10,11,12}};

If values left out

of row, implicitly 

initialized to zero

     c[2] [2] = 0

int c[ ] [3] = {{1, 2, 3},        {4, 5, 6},        {7, 8, 9},        {10,11,12}};

If far left dimension

size left blank, it is

declared implicitly

by values given – in

this case  4 rows

Trang 6

Usually use 

nested for loop

– Two dimensions, 

two loops

First loop  controls rows Second loop  controls columns

Lesson 10.1

for   (j = 0; j < 2; j++)        {

        for  (k = 0; k < 3; k++)        {

      cout << b[j] [k];

       }         cout << endl;

        } Creates new line or row

Trang 7

Lesson 10.2

infile >> num_rows >> num_cols; for (j = 0; j < num_rows; j++)

      {        for (k = 0; k < num_cols; k++)        {

      infile >> a[j] [k];

      }        }

Read number of 

columns and rows 

from file prior to 

array elements

Trang 8

Storage of  Two­Dimensional Arrays

Fills row by row

– If have fewer elements, then storage to the right 

of those filled un­initialized elements

Three and greater dimensions

– Far right subscript increments first

– Other subscripts increment in order from right 

to left

Lesson 10.2

Trang 9

* * * * * * * * *

* * * * * * * * *

* * * * * * * * *

* * * * * * * * *

* * * * * * * * *

array[5] [9]

1 2 3 4 * * * * *

2 4 6 8 * * * * *

3 5 7 9 * * * * *

* * * * * * * * *

* * * * * * * * *

If file gave number 

of rows as 3 and number 

of columns as 4 then have  non­contiguous storage.

Lesson 10.2

Trang 10

Formula to locate arrays element's position 

in memory

array element, e[x] [y] [z]

array size e[I] [J] [K]

sequence location = x * (J * K) + y * (K) + z +1

array element, e[0] [1] [2]

array size e[2] [3] [4]

sequence location = 0 * (3 *4) + 1 * (4) + 2+1

       =  7

Lesson 10.2

Trang 11

Lesson 10.2

void funcName (type, type, type[ ] [max_cols]);

funcName (rows, cols, arrayName);

void funcName (type r, type c, type array[ ] [max_cols]);

Declaration

Call

Header

Trang 12

Place in front of array name in function 

declaration and header

Assures that array is not modified in function

Lesson 10.2

void funcName (type, type, const type [ ] [ col ]);

Declaration

Trang 13

Initialize multidimensional arrays Print multidimensional arrays

Read a file for array element values Visualize storage

Pass an array to a function

Learned how to:

Ngày đăng: 30/01/2020, 00:25

TỪ KHÓA LIÊN QUAN