2D Arrays Just another data structure Typically use a nested loop

Slides:



Advertisements
Similar presentations
Continuation of chapter 6…. Nested while loop A while loop used within another while loop is called nested while loop. Q. An illustration to generate.
Advertisements

For(int i = 1; i
Execute Blocks of Code Multiple Times Svetlin Nakov Telerik Corporation
1 Powers of Two: Trace Ex. Print powers of 2 that are  2 N. Increment i from 0 to N. Double v each time. int i = 0; int v = 1; while (i
More While Loop Examples CS303E: Elements of Computers and Programming.
Discrete Mathematics Lecture 7. 2 Analysis of Algorithms Analyzing an algorithm Time complexity Space complexity Time complexity Running time needed by.
Arrays Dr. Jose Annunziato. Arrays Up to this point we have been working with individual primitive data types Arrays allow working with multiple instances.
11 PART 2 ARRAYS. 22 PROCESSING ARRAY ELEMENTS Reassigning Array Reference Variables The third statement in the segment below copies the address stored.
Chapter 8 Slides from GaddisText Arrays of more than 1 dimension.
For Friday Read No quiz Program 6 due. Program 6 Any questions?
Computer Programming 12 Lesson 6 – Loop structure By: Dan Lunney.
Python Fundamentals: Complex Data Structures Eric Shook Department of Geography Kent State University.
Problem byte direct-mapped cache 16-byte blocks sizeof(int) = 4 struct algae_position{ int x; int y; }; Struct algae_position grid[16][16]; grid.
Chương 1: CÁC PHƯƠNG THỨC GIAO DỊCH TRÊN THỊ TRƯỜNG THẾ GIỚI
BÖnh Parkinson PGS.TS.BS NGUYỄN TRỌNG HƯNG BỆNH VIỆN LÃO KHOA TRUNG ƯƠNG TRƯỜNG ĐẠI HỌC Y HÀ NỘI Bác Ninh 2013.
Theoretical Results on Neutrinos
Optomechanics with atoms
Chapter 8 Arrays and the ArrayList Class Multi-Dimensional Arrays.
FLUORECENCE MICROSCOPY SUPERRESOLUTION BLINK MICROSCOPY ON THE BASIS OF ENGINEERED DARK STATES* *Christian Steinhauer, Carsten Forthmann, Jan Vogelsang,
Hui Wang†*, Canturk Isci‡, Lavanya Subramanian*,
Arrays 4/4 By Pius Nyaanga. Outline Multidimensional Arrays Two-Dimensional Array as an Array of Arrays Using the length Instance Variable Multidimensional.
Gas-Electric Co-Optimization (GECO)
Hodgkin-Huxley David Wallace Croft, M.Sc. Atzori Lab, U.T. Dallas
Public Sector Economics
Use z-score as a standardized value for comparisons
Rural Investment and Policy Analysis (RIAPA) Modeling Toolkit
Financing the SDGs in the Pacific
2National Institute of Standards and Technology, Boulder, CO 80305
Geometry Similarity and Congruency
Digital Filtering Convolution of time series
Warm-Up: March 4, 2016 Find the exact value of cos sin −1 − 4 5.
Measurement of formation cross-sections and decay properties for short-lived isomers produced in photonuclear interactions Justin Delaney | CSIRO & University.
The PV Cell History, Basics & Technologies
AKI & CKD Josh Exley.
Two dimensional arrays.
Looping Examples I.
while Repetition Structure
Chapter 10 Arrays.
Two Dimensional Arrays
Two Dimensional Array Mr. Jacobs.
Two-Dimension Arrays Computer Programming 2.
ECE Application Programming
Chapter-7 part3 Arrays Two-Dimensional Arrays The ArrayList Class.
ECE Application Programming
C++ Arrays.
Two-Dimensional Arrays
Two Dimensional Arrays
Arrays, Part 1 of 2 Topics Definition of a Data Structure
Chapter 10 Arrays.
Chapter 6 Arrays.
Engineering Problem Solving with C++, Etter/Ingber
Example Problems for Exam#2 (covers chapters 5, 6, 7, 8, 9)
Chapter 8 Slides from GaddisText
EKT150 : Computer Programming
Lecture 6 2d Arrays Richard Gesick.
Arrays, Part 1 of 2 Topics Definition of a Data Structure
Lecture 4 2d Arrays CSE /26/2018.
Multidimensional Arrays
Multidimensional Arrays
Arrays, Part 1 of 2 Topics Definition of a Data Structure
Arrays I Handling lists of data.
Multi-Dimensional Arrays
INC 161 , CPE 100 Computer Programming
Two dimensional arrays.
EECE.2160 ECE Application Programming
Ps Module 7 – Part II 2D Arrays and LISTS 5/26/2019 CSE 1321 Module 7.
Two dimensional arrays.
ICS103: Programming in C Searching, Sorting, 2D Arrays
Ps Module 7 – Part II 2D Arrays and LISTS 8/29/2019 CSE 1321 Module 7.
Presentation transcript:

2D Arrays Just another data structure Typically use a nested loop A “grid” Similar to 1D arrays (indices, static, contiguous) Add another dimension Hold 2D terrain Typically use a nested loop Find min/max/sum/average Print out each element

int[,] grid = new int[4, 4];

int[,] grid = new int[4, 4]; <data type>[,] <name> = new <data type>[WIDTH, HEIGHT];

int[,] grid = new int[4, 4]; 4 4

int[,] grid = new int[4, 4]; How do we initialize this?

for (int y = 0; y < 4; y++) { int[,] grid = new int[4, 4]; for (int y = 0; y < 4; y++) { } y

for (int y = 0; y < 4; y++) { for (int x = 0; x < 4; x++) { int[,] grid = new int[4, 4]; for (int y = 0; y < 4; y++) { for (int x = 0; x < 4; x++) { grid[x, y] = x*y; } x y

for (int y = 0; y < 4; y++) { for (int x = 0; x < 4; x++) { int[,] grid = new int[4, 4]; for (int y = 0; y < 4; y++) { for (int x = 0; x < 4; x++) { grid[x, y] = x*y; } x x y y

for (int y = 0; y < 4; y++) { for (int x = 0; x < 4; x++) { int[,] grid = new int[4, 4]; for (int y = 0; y < 4; y++) { for (int x = 0; x < 4; x++) { grid[x, y] = x*y; } x x y 1 y

for (int y = 0; y < 4; y++) { for (int x = 0; x < 4; x++) { int[,] grid = new int[4, 4]; for (int y = 0; y < 4; y++) { for (int x = 0; x < 4; x++) { grid[x, y] = x*y; } x x y 1 y

for (int y = 0; y < 4; y++) { for (int x = 0; x < 4; x++) { int[,] grid = new int[4, 4]; for (int y = 0; y < 4; y++) { for (int x = 0; x < 4; x++) { grid[x, y] = x*y; } x x y 2 y

for (int y = 0; y < 4; y++) { for (int x = 0; x < 4; x++) { int[,] grid = new int[4, 4]; for (int y = 0; y < 4; y++) { for (int x = 0; x < 4; x++) { grid[x, y] = x*y; } x x y 2 y

for (int y = 0; y < 4; y++) { for (int x = 0; x < 4; x++) { int[,] grid = new int[4, 4]; for (int y = 0; y < 4; y++) { for (int x = 0; x < 4; x++) { grid[x, y] = x*y; } x x y 3 y

for (int y = 0; y < 4; y++) { for (int x = 0; x < 4; x++) { int[,] grid = new int[4, 4]; for (int y = 0; y < 4; y++) { for (int x = 0; x < 4; x++) { grid[x, y] = x*y; } x x y 3 y

for (int y = 0; y < 4; y++) { for (int x = 0; x < 4; x++) { int[,] grid = new int[4, 4]; for (int y = 0; y < 4; y++) { for (int x = 0; x < 4; x++) { grid[x, y] = x*y; } x y 4 y

false! int[,] grid = new int[4, 4]; for (int y = 0; y < 4; y++) { for (int x = 0; x < 4; x++) { grid[x, y] = x*y; } false! x y 4

for (int y = 0; y < 4; y++) { for (int x = 0; x < 4; x++) { int[,] grid = new int[4, 4]; for (int y = 0; y < 4; y++) { for (int x = 0; x < 4; x++) { grid[x, y] = x*y; } y 1 y

for (int y = 0; y < 4; y++) { for (int x = 0; x < 4; x++) { int[,] grid = new int[4, 4]; for (int y = 0; y < 4; y++) { for (int x = 0; x < 4; x++) { grid[x, y] = x*y; } x x y 1 y

for (int y = 0; y < 4; y++) { for (int x = 0; x < 4; x++) { int[,] grid = new int[4, 4]; for (int y = 0; y < 4; y++) { for (int x = 0; x < 4; x++) { grid[x, y] = x*y; } x x y 1 y

for (int y = 0; y < 4; y++) { for (int x = 0; x < 4; x++) { int[,] grid = new int[4, 4]; for (int y = 0; y < 4; y++) { for (int x = 0; x < 4; x++) { grid[x, y] = x*y; } x x y 1 1 y

for (int y = 0; y < 4; y++) { for (int x = 0; x < 4; x++) { int[,] grid = new int[4, 4]; for (int y = 0; y < 4; y++) { for (int x = 0; x < 4; x++) { grid[x, y] = x*y; } x x y 1 1 y 1

for (int y = 0; y < 4; y++) { for (int x = 0; x < 4; x++) { int[,] grid = new int[4, 4]; for (int y = 0; y < 4; y++) { for (int x = 0; x < 4; x++) { grid[x, y] = x*y; } x x y 2 1 y 1

for (int y = 0; y < 4; y++) { for (int x = 0; x < 4; x++) { int[,] grid = new int[4, 4]; for (int y = 0; y < 4; y++) { for (int x = 0; x < 4; x++) { grid[x, y] = x*y; } x x y 2 1 y 1 2

for (int y = 0; y < 4; y++) { for (int x = 0; x < 4; x++) { int[,] grid = new int[4, 4]; for (int y = 0; y < 4; y++) { for (int x = 0; x < 4; x++) { grid[x, y] = x*y; } x x y 3 1 y 1 2

for (int y = 0; y < 4; y++) { for (int x = 0; x < 4; x++) { int[,] grid = new int[4, 4]; for (int y = 0; y < 4; y++) { for (int x = 0; x < 4; x++) { grid[x, y] = x*y; } x x y 3 1 y 1 2 3

for (int y = 0; y < 4; y++) { for (int x = 0; x < 4; x++) { int[,] grid = new int[4, 4]; for (int y = 0; y < 4; y++) { for (int x = 0; x < 4; x++) { grid[x, y] = x*y; } x y 4 1 y 1 2 3

for (int y = 0; y < 4; y++) { for (int x = 0; x < 4; x++) { int[,] grid = new int[4, 4]; for (int y = 0; y < 4; y++) { for (int x = 0; x < 4; x++) { grid[x, y] = x*y; } x y 4 1 y 1 2 3

for (int y = 0; y < 4; y++) { for (int x = 0; x < 4; x++) { int[,] grid = new int[4, 4]; for (int y = 0; y < 4; y++) { for (int x = 0; x < 4; x++) { grid[x, y] = x*y; } y 2 1 2 3 y

for (int y = 0; y < 4; y++) { for (int x = 0; x < 4; x++) { int[,] grid = new int[4, 4]; for (int y = 0; y < 4; y++) { for (int x = 0; x < 4; x++) { grid[x, y] = x*y; } x x y 2 1 2 3 y

for (int y = 0; y < 4; y++) { for (int x = 0; x < 4; x++) { int[,] grid = new int[4, 4]; for (int y = 0; y < 4; y++) { for (int x = 0; x < 4; x++) { grid[x, y] = x*y; } x x y 2 1 2 3 y

for (int y = 0; y < 4; y++) { for (int x = 0; x < 4; x++) { int[,] grid = new int[4, 4]; for (int y = 0; y < 4; y++) { for (int x = 0; x < 4; x++) { grid[x, y] = x*y; } x x y 1 2 1 2 3 y

for (int y = 0; y < 4; y++) { for (int x = 0; x < 4; x++) { int[,] grid = new int[4, 4]; for (int y = 0; y < 4; y++) { for (int x = 0; x < 4; x++) { grid[x, y] = x*y; } x x y 1 2 1 2 3 y 2

for (int y = 0; y < 4; y++) { for (int x = 0; x < 4; x++) { int[,] grid = new int[4, 4]; for (int y = 0; y < 4; y++) { for (int x = 0; x < 4; x++) { grid[x, y] = x*y; } x x y 2 2 1 2 3 y 2

for (int y = 0; y < 4; y++) { for (int x = 0; x < 4; x++) { int[,] grid = new int[4, 4]; for (int y = 0; y < 4; y++) { for (int x = 0; x < 4; x++) { grid[x, y] = x*y; } x x y 2 2 1 2 3 y 2 4

for (int y = 0; y < 4; y++) { for (int x = 0; x < 4; x++) { int[,] grid = new int[4, 4]; for (int y = 0; y < 4; y++) { for (int x = 0; x < 4; x++) { grid[x, y] = x*y; } x x y 3 2 1 2 3 y 2 4

for (int y = 0; y < 4; y++) { for (int x = 0; x < 4; x++) { int[,] grid = new int[4, 4]; for (int y = 0; y < 4; y++) { for (int x = 0; x < 4; x++) { grid[x, y] = x*y; } x x y 3 2 1 2 3 y 2 4 6

for (int y = 0; y < 4; y++) { for (int x = 0; x < 4; x++) { int[,] grid = new int[4, 4]; for (int y = 0; y < 4; y++) { for (int x = 0; x < 4; x++) { grid[x, y] = x*y; } x y 4 2 1 2 3 y 2 4 6

for (int y = 0; y < 4; y++) { for (int x = 0; x < 4; x++) { int[,] grid = new int[4, 4]; for (int y = 0; y < 4; y++) { for (int x = 0; x < 4; x++) { grid[x, y] = x*y; } x y 4 2 1 2 3 y 2 4 6

for (int y = 0; y < 4; y++) { for (int x = 0; x < 4; x++) { int[,] grid = new int[4, 4]; for (int y = 0; y < 4; y++) { for (int x = 0; x < 4; x++) { grid[x, y] = x*y; } y 3 1 2 3 2 4 6 y

for (int y = 0; y < 4; y++) { for (int x = 0; x < 4; x++) { int[,] grid = new int[4, 4]; for (int y = 0; y < 4; y++) { for (int x = 0; x < 4; x++) { grid[x, y] = x*y; } x x y 3 1 2 3 2 4 6 y

for (int y = 0; y < 4; y++) { for (int x = 0; x < 4; x++) { int[,] grid = new int[4, 4]; for (int y = 0; y < 4; y++) { for (int x = 0; x < 4; x++) { grid[x, y] = x*y; } x x y 3 1 2 3 2 4 6 y

for (int y = 0; y < 4; y++) { for (int x = 0; x < 4; x++) { int[,] grid = new int[4, 4]; for (int y = 0; y < 4; y++) { for (int x = 0; x < 4; x++) { grid[x, y] = x*y; } x x y 1 3 1 2 3 2 4 6 y

for (int y = 0; y < 4; y++) { for (int x = 0; x < 4; x++) { int[,] grid = new int[4, 4]; for (int y = 0; y < 4; y++) { for (int x = 0; x < 4; x++) { grid[x, y] = x*y; } x x y 1 3 1 2 3 2 4 6 y 3

for (int y = 0; y < 4; y++) { for (int x = 0; x < 4; x++) { int[,] grid = new int[4, 4]; for (int y = 0; y < 4; y++) { for (int x = 0; x < 4; x++) { grid[x, y] = x*y; } x x y 2 3 1 2 3 2 4 6 y 3

for (int y = 0; y < 4; y++) { for (int x = 0; x < 4; x++) { int[,] grid = new int[4, 4]; for (int y = 0; y < 4; y++) { for (int x = 0; x < 4; x++) { grid[x, y] = x*y; } x x y 2 3 1 2 3 2 4 6 y 3 6

for (int y = 0; y < 4; y++) { for (int x = 0; x < 4; x++) { int[,] grid = new int[4, 4]; for (int y = 0; y < 4; y++) { for (int x = 0; x < 4; x++) { grid[x, y] = x*y; } x x y 3 3 1 2 3 2 4 6 y 3 6

for (int y = 0; y < 4; y++) { for (int x = 0; x < 4; x++) { int[,] grid = new int[4, 4]; for (int y = 0; y < 4; y++) { for (int x = 0; x < 4; x++) { grid[x, y] = x*y; } x x y 3 3 1 2 3 2 4 6 y 3 6 9

for (int y = 0; y < 4; y++) { for (int x = 0; x < 4; x++) { int[,] grid = new int[4, 4]; for (int y = 0; y < 4; y++) { for (int x = 0; x < 4; x++) { grid[x, y] = x*y; } x y 4 3 1 2 3 2 4 6 y 3 6 9

for (int y = 0; y < 4; y++) { for (int x = 0; x < 4; x++) { int[,] grid = new int[4, 4]; for (int y = 0; y < 4; y++) { for (int x = 0; x < 4; x++) { grid[x, y] = x*y; } x y 4 3 1 2 3 2 4 6 y 3 6 9

for (int y = 0; y < 4; y++) { for (int x = 0; x < 4; x++) { int[,] grid = new int[4, 4]; for (int y = 0; y < 4; y++) { for (int x = 0; x < 4; x++) { grid[x, y] = x*y; } y 4 1 2 3 2 4 6 3 6 9

false! int[,] grid = new int[4, 4]; for (int y = 0; y < 4; y++) { for (int x = 0; x < 4; x++) { grid[x, y] = x*y; } false! y 4 1 2 3 2 4 6 3 6 9

int[,] grid = new int[4, 4]; for (int y = 0; y < 4; y++) { for (int x = 0; x < 4; x++) { grid[x, y] = x*y; } // Continue processing 1 2 3 2 4 6 3 6 9

Finding the Smallest int smallest = grid[0,0]; for (int y = 0; y < 4; y++) { for (int x = 0; x < 4; x++) { if (smallest > grid[x, y]) { smallest = grid[x, y]; }

Finding the Sum int sum = 0; for (int y = 0; y < 4; y++) { for (int x = 0; x < 4; x++) { sum += grid[x, y]; }

Finding the Average int sum = 0; for (int y = 0; y < 4; y++) { for (int x = 0; x < 4; x++) { sum += grid[x, y]; } double average = sum/16.0f;

Things to Note All of these examples had a nested loop Only the logic changed! 2D arrays are similar to 1D arrays