Ps Module 7 – Part II 2D Arrays and LISTS 8/29/2019 CSE 1321 Module 7.

Slides:



Advertisements
Similar presentations
Two-Dimensional Arrays Chapter What is a two-dimensional array? A two-dimensional array has “rows” and “columns,” and can be thought of as a series.
Advertisements

Introduction to Computers and Programming Lecture 10: For Loops Professor: Evan Korth New York University.
University of British Columbia CPSC 111, Intro to Computation Jan-Apr 2006 Tamara Munzner 1 2D Arrays, Sorting Lecture 16, Tue Mar
©2004 Brooks/Cole Chapter 8 Arrays. Figures ©2004 Brooks/Cole CS 119: Intro to JavaFall 2005 Sometimes we have lists of data values that all need to be.
University of British Columbia CPSC 111, Intro to Computation 2009W2: Jan-Apr 2010 Tamara Munzner 1 2D Arrays, Sorting Lecture 23, Fri Mar
Building Java Programs Chapter 7.5
One Dimensional Arrays. Declaring references to array objects How would you declare a variable somearray that is an array of ints? int[] somearray;
03/16/ What is an Array?... An array is an object that stores list of items. Each slot of an array holds an individual element. Characteristics.
Nested for loops.
Spring 2008 Mark Fontenot CSE 1341 Principles of Computer Science I Note Set 7.
Get Longest Run Index (FR) public int getLongestRunIndex(int []values) { int maxRunStart = -1, maxRunLength = 1; int runStart = 0, runLength = 1; for(int.
Arrays.
Multidimensional Arrays Vectors of Vectors When One Is Not Enough.
1 BUILDING JAVA PROGRAMS CHAPTER 2 PRIMITIVE DATA AND DEFINITE LOOPS.
CSE 1301 Lecture 14 2D Arrays Figures from Lewis, “C# Software Solutions”, Addison Wesley Richard Gesick.
1 st Semester Module 7 Arrays อภิรักษ์ จันทร์สร้าง Aphirak Jansang Computer Engineering Department.
VISUAL C++ PROGRAMMING: CONCEPTS AND PROJECTS Chapter 7A Arrays (Concepts)
Two-Dimensional Data Class of 5 students Each student has 3 test scores Store this information in a two- dimensional array First dimension: which student.
Chapter 8 Arrays and the ArrayList Class Multi-Dimensional Arrays.
Lecture 18: Nested Loops and Two-Dimensional Arrays
Looping Examples I.
Lecture 8: 2D Arrays and Nested Loops
Write code to prompt for 5 grades, read them in, print “Thank you”, then reprint the 5 grades and their average. System.out.println(“Please enter grade.
Two-Dimensional Arrays
Topic Dimensional Arrays
multi-dimensional arrays
Two Dimensional Arrays
Two Dimensional Array Mr. Jacobs.
Two-Dimension Arrays Computer Programming 2.
Lecture 5 D&D Chapter 6 Arrays and ArrayLists Date.
ECE Application Programming
ECE Application Programming
Two-Dimensional Arrays
Arrays An Array is an ordered collection of variables
Engineering Problem Solving with C++, Etter/Ingber
Nested Loop Review and Two-Dimensional Arrays
1020: Introduction to Programming Mohamed Shehata November 22, 2017
EKT150 : Computer Programming
1020: Introduction to Programming Mohamed Shehata November 7, 2016
Lecture 6 2d Arrays Richard Gesick.
Arrays, Part 1 of 2 Topics Definition of a Data Structure
Multidimensional Arrays
Thanachat Thanomkulabut
Arrays, Part 1 of 2 Topics Definition of a Data Structure
Lecture 13: Two-Dimensional Arrays
Lecture 4 2d Arrays CSE /26/2018.
Multidimensional array
Multidimensional Arrays
2D Arrays Just another data structure Typically use a nested loop
Arrays I Handling lists of data.
1D Arrays and Lots of Brackets
1D Arrays and Lots of Brackets
1D Arrays and Lots of Brackets
Module 4 Loops and Repetition 4/7/2019 CSE 1321 Module 4.
Multi-Dimensional Arrays
INC 161 , CPE 100 Computer Programming
EECE.2160 ECE Application Programming
EECE.2160 ECE Application Programming
Module 4 Loops and Repetition 4/15/2019 CSE 1321 Module 4.
Lecture 14 2D Arrays Richard Gesick.
Multi-Dimensional Arrays
Array ISYS 350.
EECE.2160 ECE Application Programming
EECE.2160 ECE Application Programming
Arrays and Strings CSCI293 - C# September 26, 2005.
1D Arrays and Lots of Brackets
Arrays, Part 1 of 2 Topics Definition of a Data Structure
Ps Module 7 – Part II 2D Arrays and LISTS 5/26/2019 CSE 1321 Module 7.
1D Arrays and Lots of Brackets
Visit for more Learning Resources
Presentation transcript:

Ps Module 7 – Part II 2D Arrays and LISTS 8/29/2019 CSE 1321 Module 7

2D vs 1D Arrays Still hold several values of the same type (homogeneous) Still based on a slot number (the index number), but has two now Still have instant access Still Static Typically use nested loops to traverse array 8/29/2019 CSE 1321

What 2D Arrays look like . . . . . . 1 2 3 4 5 6 myArray 1 2 3 4 5 6 1 2 3 4 5 6 [0,0] [0,1] [0,2] [0,3] [0,4] [0,5] [0,6] myArray 1 [1,0] [1,1] [1,2] [1,3] [1,4] [1,5] [1,6] 2 [2,0] [2,1] [2,2] [2,3] [2,4] [2,5] [2,6] . . . 3 [3,0] [3,1] [3,2] [3,3] [3,4] [3,5] [3,6] 4 [4,0] [4,1] [4,2] [4,3] [4,4] [4,5] [4,6] 5 [5,0] [5,1] [5,2] [5,3] [5,4] [5,5] [5,6] 6 [6,0] [6,1] [6,2] [6,3] [6,4] [6,5] [6,6] . . . 8/29/2019 CSE 1321

Ps Defining a 2D array CREATE array nums [numRows][numColumns] 8/29/2019 CSE 1321

Java- Define a 2D Array <type> [ ][ ] <name> = new <type>[<rowSize>][<columnSize>]; For example: int[ ][ ] grid = new int [10][20]; 8/29/2019 CSE 1321

C# - Define a 2D Array <type>[ , ]<name> = new <type>[<row_size>,<column_size>]; For example: int[ , ] grid = new int [10,20]; 8/29/2019 CSE 1321

Modifying a 2D Array myArray[2,3] = 42; 1 2 3 4 5 6 myArray 1 2 3 4 5 1 2 3 4 5 6 [0,0] [0,1] [0,2] [0,3] [0,4] [0,5] [0,6] myArray 1 [1,0] [1,1] [1,2] [1,3] [1,4] [1,5] [1,6] 2 [2,0] [2,1] [2,2] [2,3] [2,4] [2,5] [2,6] 3 [3,0] [3,1] [3,2] [3,3] [3,4] [3,5] [3,6] 4 [4,0] [4,1] [4,2] [4,3] [4,4] [4,5] [4,6] 5 [5,0] [5,1] [5,2] [5,3] [5,4] [5,5] [5,6] 6 [6,0] [6,1] [6,2] [6,3] [6,4] [6,5] [6,6] myArray[2,3] = 42; 8/29/2019 CSE 1321

Time for a secret… You use nested loops any time you have to visit every element Find the min Find the max Find the average Print every element etc. It sounds like a test question… Let’s make a multiplication table

CREATE ARRAY grid [4][4]

CREATE ARRAY grid [4][4] 4 4

CREATE ARRAY grid [4][4] How do we initialize this?

FOR each element in a row CREATE ARRAY grid [4][4] FOR each element in a row END FOR row

FOR each element in a row FOR each element in a col CREATE ARRAY grid [4][4] FOR each element in a row FOR each element in a col grid[row, col] = row * col END FOR col row

FOR each element in a row FOR each element in a col CREATE ARRAY grid [4][4] FOR each element in a row FOR each element in a col grid[row, col] = row * col END FOR col col row row

FOR each element in a row FOR each element in a col CREATE ARRAY grid [4][4] FOR each element in a row FOR each element in a col grid[row, col] = row * col END FOR col col row 1 row

FOR each element in a row FOR each element in a col CREATE ARRAY grid [4][4] FOR each element in a row FOR each element in a col grid[row, col] = row * col END FOR col col row 1 row

FOR each element in a row FOR each element in a col CREATE ARRAY grid [4][4] FOR each element in a row FOR each element in a col grid[row, col] = row * col END FOR col col row 2 row

FOR each element in a row FOR each element in a col CREATE ARRAY grid [4][4] FOR each element in a row FOR each element in a col grid[row, col] = row * col END FOR col col row 2 row

FOR each element in a row FOR each element in a col CREATE ARRAY grid [4][4] FOR each element in a row FOR each element in a col grid[row, col] = row * col END FOR col col row 3 row

FOR each element in a row FOR each element in a col CREATE ARRAY grid [4][4] FOR each element in a row FOR each element in a col grid[row, col] = row * col END FOR col col row 3 row

FOR each element in a row FOR each element in a col CREATE ARRAY grid [4][4] FOR each element in a row FOR each element in a col grid[row, col] = row * col END FOR col row 4 row

FOR each element in a row FOR each element in a col CREATE ARRAY grid [4][4] FOR each element in a row FOR each element in a col grid[row, col] = row * col END FOR row 1 row

FOR each element in a row FOR each element in a col CREATE ARRAY grid [4][4] FOR each element in a row FOR each element in a col grid[row, col] = row * col END FOR col col row 1 row

FOR each element in a row FOR each element in a col CREATE ARRAY grid [4][4] FOR each element in a row FOR each element in a col grid[row, col] = row * col END FOR col col row 1 row

FOR each element in a row FOR each element in a col CREATE ARRAY grid [4][4] FOR each element in a row FOR each element in a col grid[row, col] = row * col END FOR col col row 1 1 row

FOR each element in a row FOR each element in a col CREATE ARRAY grid [4][4] FOR each element in a row FOR each element in a col grid[row, col] = row * col END FOR col col row 1 1 row 1

FOR each element in a row FOR each element in a col CREATE ARRAY grid [4][4] FOR each element in a row FOR each element in a col grid[row, col] = row * col END FOR col col row 2 1 row 1

FOR each element in a row FOR each element in a col CREATE ARRAY grid [4][4] FOR each element in a row FOR each element in a col grid[row, col] = row * col END FOR col col row 2 1 row 1 2

FOR each element in a row FOR each element in a col CREATE ARRAY grid [4][4] FOR each element in a row FOR each element in a col grid[row, col] = row * col END FOR col col row 3 1 row 1 2

FOR each element in a row FOR each element in a col CREATE ARRAY grid [4][4] FOR each element in a row FOR each element in a col grid[row, col] = row * col END FOR col col row 3 1 row 1 2 3

FOR each element in a row FOR each element in a col CREATE ARRAY grid [4][4] FOR each element in a row FOR each element in a col grid[row, col] = row * col END FOR col row 4 1 row 1 2 3

FOR each element in a row FOR each element in a col CREATE ARRAY grid [4][4] FOR each element in a row FOR each element in a col grid[row, col] = row * col END FOR row 2 1 2 3 row

FOR each element in a row FOR each element in a col CREATE ARRAY grid [4][4] FOR each element in a row FOR each element in a col grid[row, col] = row * col END FOR col col row 2 1 2 3 row

FOR each element in a row FOR each element in a col CREATE ARRAY grid [4][4] FOR each element in a row FOR each element in a col grid[row, col] = row * col END FOR col col row 2 1 2 3 row

FOR each element in a row FOR each element in a col CREATE ARRAY grid [4][4] FOR each element in a row FOR each element in a col grid[row, col] = row * col END FOR col col row 1 2 1 2 3 row

FOR each element in a row FOR each element in a col CREATE ARRAY grid [4][4] FOR each element in a row FOR each element in a col grid[row, col] = row * col END FOR col col row 1 2 1 2 3 row 2

FOR each element in a row FOR each element in a col CREATE ARRAY grid [4][4] FOR each element in a row FOR each element in a col grid[row, col] = row * col END FOR col col row 2 2 1 2 3 row 2

FOR each element in a row FOR each element in a col CREATE ARRAY grid [4][4] FOR each element in a row FOR each element in a col grid[row, col] = row * col END FOR col col row 2 2 1 2 3 row 2 4

FOR each element in a row FOR each element in a col CREATE ARRAY grid [4][4] FOR each element in a row FOR each element in a col grid[row, col] = row * col END FOR col col row 3 2 1 2 3 row 2 4

FOR each element in a row FOR each element in a col CREATE ARRAY grid [4][4] FOR each element in a row FOR each element in a col grid[row, col] = row * col END FOR col col row 3 2 1 2 3 row 2 4 6

FOR each element in a row FOR each element in a col CREATE ARRAY grid [4][4] FOR each element in a row FOR each element in a col grid[row, col] = row * col END FOR col row 4 2 1 2 3 row 2 4 6

FOR each element in a row FOR each element in a col CREATE ARRAY grid [4][4] FOR each element in a row FOR each element in a col grid[row, col] = row * col END FOR row 3 1 2 3 2 4 6 row

FOR each element in a row FOR each element in a col CREATE ARRAY grid [4][4] FOR each element in a row FOR each element in a col grid[row, col] = row * col END FOR col col row 3 1 2 3 2 4 6 row

FOR each element in a row FOR each element in a col CREATE ARRAY grid [4][4] FOR each element in a row FOR each element in a col grid[row, col] = row * col END FOR col col row 3 1 2 3 2 4 6 row

FOR each element in a row FOR each element in a col CREATE ARRAY grid [4][4] FOR each element in a row FOR each element in a col grid[row, col] = row * col END FOR col col row 1 3 1 2 3 2 4 6 row

FOR each element in a row FOR each element in a col CREATE ARRAY grid [4][4] FOR each element in a row FOR each element in a col grid[row, col] = row * col END FOR col col row 1 3 1 2 3 2 4 6 row 3

FOR each element in a row FOR each element in a col CREATE ARRAY grid [4][4] FOR each element in a row FOR each element in a col grid[row, col] = row * col END FOR col col row 2 3 1 2 3 2 4 6 row 3

FOR each element in a row FOR each element in a col CREATE ARRAY grid [4][4] FOR each element in a row FOR each element in a col grid[row, col] = row * col END FOR col col row 2 3 1 2 3 2 4 6 row 3 6

FOR each element in a row FOR each element in a col CREATE ARRAY grid [4][4] FOR each element in a row FOR each element in a col grid[row, col] = row * col END FOR col col row 3 3 1 2 3 2 4 6 row 3 6

FOR each element in a row FOR each element in a col CREATE ARRAY grid [4][4] FOR each element in a row FOR each element in a col grid[row, col] = row * col END FOR col col row 3 3 1 2 3 2 4 6 row 3 6 9

FOR each element in a row FOR each element in a col CREATE ARRAY grid [4][4] FOR each element in a row FOR each element in a col grid[row, col] = row * col END FOR col row 4 3 1 2 3 2 4 6 row 3 6 9

FOR each element in a row FOR each element in a col CREATE ARRAY grid [4][4] FOR each element in a row FOR each element in a col grid[row, col] = row * col END FOR row 4 1 2 3 2 4 6 3 6 9

CREATE ARRAY grid [4][4] FOR each element in a row FOR each element in a col grid[row, col] = row * col END FOR // Continue processing 1 2 3 2 4 6 3 6 9

Back to your regular lecture… 8/29/2019 CSE 1321 Module 4

Working with 2D arrays Usually involves nested loops, as shown below. Problem Statement: Create an array of 4 rows and 5 columns. Populate the array with the numbers 1-20. --------------------------------------------------------------------- Create array grid[4][5] count ← 1 FOR each element in a row FOR each element in a column     grid[row][col] = count count ← count + 1 END INNER FOR END FOR 8/29/2019 CSE 1321

int count = 1; //declare a 2D array with 4 rows and 5 columns int[][] grid = new int[4][5]; //getting the rows in the array for (int row = 0; row < 4; row++) { //populate the values in the array (row) we're currently on from the outer loop for (int column = 0; column < 5; column++){ grid[row][column] = count; count++; } //for each array in the grid (represented by rows) for(int item[] : grid) //for each element in the array (row) we're currently on from the outer loop for (int number : item) { System.out.print(number + ","); if(number % 5 == 0) { System.out.println(" "); } 8/29/2019 CSE 1321

int count = 1; //declare a 2D array with 4 rows and 5 columns int[,] grid = new int[4, 5]; //getting the rows in the array for (int row = 0; row < 4; row++) { //populate the values in the array (row) we're currently on from the outer loop for (int column = 0; column < 5; column++) grid[row, column] = count; count++; } //for each array in the grid (represented by rows) foreach(int number in grid) //for each element in the array (row) we're currently on Console.Write(number + ","); if(number % 5 == 0) { Console.WriteLine(" "); } 8/29/2019 CSE 1321

multi-dimension arrays CREATE array nums [size_1][size_2][size_3] Use nested loops, one for each dimension to traverse the array FOR each number in the row FOR each number in the column FOR each number in the third dimension do some processing ENDFOR 4/26/2018

C# multi-dimension arrays int[,,] nums= new int [5,6,7]; Example 1: 3 nested loops using GetLength(X)   for(int i=0; i<nums.GetLength(0);i++)   {     for (int j=0; j< nums.GetLength(1);j++)     {      for(int k=0; k<nums.GetLength(2);k++)        {              // do some processing       }     }   } 4/26/2018

C# multi-dimension arrays Example 2: Use a foreach loop as long as you aren’t changing the contents of the array foreach ( int i in nums)  {. . .}  public static int findLargest(int[,,]n)        {            int max = n[0,0,0];             foreach (int j in n)                {                     if( j > max)                        max = j;                }             return max;        } 4/26/2018

Java multi-dimension arrays int[][][] nums= new int [5][6][7]; // 3 nested loops using nums.length, nums[0].length and nums[0][0].length for(int i=0; i<nums.length;i++) {   for (int j=0; j< nums[0].length;j++)   {     for(int k=0; k<nums[0][0].length;k++)     {       // do some processing     }   } } 4/26/2018

Java multi-dimension arrays OR - Use the enhanced for loop/for each loop on each subarray structure, as long as you aren’t changing the contents of the array public static int findLargest3(int[][][]n) {   int max = n[0][0][0];             for ( int [][] e : n ){                 for ( int [] d : e ){                  for ( int i : d ){                         if( i > max)           max = i;                    }     }   }             return max;        } 4/26/2018

Summary 2D Arrays Multi-dimensional Arrays Are like 1D arrays in nature Use nested loops Multi-dimensional Arrays Keep nesting loops for each dimension 8/29/2019 CSE 1321