Presentation is loading. Please wait.

Presentation is loading. Please wait.

Two-Dimensional Arrays

Similar presentations


Presentation on theme: "Two-Dimensional Arrays"— Presentation transcript:

1 Two-Dimensional Arrays

2 Learning Objectives Introduce two-dimensional arrays
Be able to declare a two-dimensional array Be able to analyze the values in each row of a 2D array Understand the implications of an array of arrays. Describe the use of two-dimensional arrays to represent grids of information

3 Two-Dimensional Arrays
Declaration similar to one dimensional arrays Need to specify both the number of rows and columns during allocation Example: Type TwoDArrayType = array[1..3, 1..3] of integer; Var twoDArray:TwoDArrayType;

4 Program ticytacy; type boardType = array[1. 3, 1
Program ticytacy; type boardType = array[1..3, 1..3] of char; //Char is a single character Var board:boardType; row, col:integer; begin for row := 1 to 3 do for col:= 1 to 3 do board[row,col] := '?'; board[row, row]:='X'; board[col, 4-col] := 'O'; write(board[row,col]); writeln; end; readln; end.

5 Some 2-D Array Math Calculating the sum for the first row for col:= 1 to 3 do sum:= sum + board[1, col]; Calculating the sum for the first column for row:= 1 to 3 do sum:= sum + board[row, 1]; Calculating the sum of all values sum:= sum + board[row, col];

6 More 2-D array math Find the sum of the cells that surround the cell board[r, c]. for row:= r-1 to r+1 do for col:= c-1 to c+1 do sum:= sum + board[row, col]; sum:= sum – board[r, c];

7 Adding Another Dimension
You can create arrays of higher dimension than 2. For example, if we were measuring the temperature in a rectangular volume. Type temperatureArrayType = array[1..3, 1..3, 1..3] of integer; var temperatures:temperatureArrayType;

8 Program: Life The universe is a two-dimensional grid of square cells, each of which is in one of two possible states, alive or dead, or "populated" or "unpopulated". Every cell interacts with its eight neighbors, which are the cells that are horizontally, vertically, or diagonally adjacent. At each step in time, the following transitions occur: Any live cell with fewer than two live neighbors dies, as if caused by under population. Any live cell with two or three live neighbors lives on to the next generation. Any live cell with more than three live neighbors dies, as if by overpopulation. Any dead cell with exactly three live neighbors becomes a live cell, as if by reproduction.

9 Patterns - Any live cell with fewer than two live neighbors dies, as if caused by under population. - Any live cell with two or three live neighbors lives on to the next generation. - Any live cell with more than three live neighbors dies, as if by overpopulation. - Any dead cell with exactly three live neighbors becomes a live cell, as if by reproduction.

10 Your application of Life
Hint: include a boundary around your world. You determine the size of the universe Fill your universe: Examples Each cell has a 1 in N chance of being alive for the first generation. You select the value for N or have the user enter the value for N. Look up potential life patterns. Run the game for several generations. Show the universe after each generation Push: Break the program into procedures. neighbors(), showUniverse(), populate() Push: Determine a way to use records in your solution. Push: Have your universe ‘wrap’

11 Magic Square A magic square[1] is a n by n square grid (where n is the number of cells on each side) filled with distinct positive integers in the range {1,2,...,n2} such that each cell contains a different integer and the sum of the integers in each row, column and diagonal is equal

12 Magic Square Program Write a program that will take as input the values for each cell of a 3x3 potential magic square and determine if the square is magic. Push: Write a program to generate 3x3 magic squares. Using an algorithm rather than just hard coding a found solution. Push: Modify this to handle n x n magic squares.


Download ppt "Two-Dimensional Arrays"

Similar presentations


Ads by Google