Chapter 7 arrays
This presentation is the property of its rightful owner.
Sponsored Links
1 / 20

Chapter 7 – Arrays PowerPoint PPT Presentation


  • 132 Views
  • Uploaded on
  • Presentation posted in: General

Chapter 7 – Arrays. 7.1 Creating and Accessing Arrays 7.2 Using LINQ with Arrays 7.3 Arrays of Structures 7.4 Two-Dimensional Arrays 7.5 A Case Study: Analyze a Loan. 7.4 Two-Dimensional Arrays. Declaring a Two-Dimensional Array Variable Implicit Array Sizing and Initialization

Download Presentation

Chapter 7 – Arrays

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Chapter 7 arrays

Chapter 7 – Arrays

7.1 Creating and Accessing Arrays

7.2 Using LINQ with Arrays

7.3 Arrays of Structures

7.4 Two-Dimensional Arrays

7.5 A Case Study: Analyze a Loan


7 4 two dimensional arrays

7.4 Two-Dimensional Arrays

  • Declaring a Two-Dimensional Array Variable

  • Implicit Array Sizing and Initialization

  • The ReDim Statement

  • Filling a Two-Dimensional Array with a Text File

  • Outputting an Array


Declaring a two dimensional array variable

Declaring a Two-Dimensional Array Variable

  • Two-dimensional arrays store a table of items of the same type.

  • Consider the rows of the table as numbered 0, 1, 2, … m and the columns numbered 0, 1, 2, … n.

  • The array is declared with

    DimarrayName(m, n) AsDataType

  • The item in ith row, jth column is denoted

    arrayName(i,j)


Declaring a two dimensional arrays

Declaring a Two-Dimensional Arrays

An unsized two-dimensional array can be declared with a statement of the form

DimarrayName(,) As varType


Redim and two dimensional arrays

ReDim and Two-Dimensional Arrays

  • An already-created array can be resized with

    ReDimarrayName(r, c)

    • which loses the current contents.

  • When Preserve is used …

    ReDim PreservearrayName(r, c)

    • Only the columns can be resized.

    • ReDim cannot change the number of rows in the array.


Implicit array sizing and initialization

Implicit Array Sizing and Initialization

Arrays can be initialized when they are declared.

DimarrayName(,) As DataType=

{{ROW0},{ROW1}, {ROW2}, ..., {ROWN}}

declares a two-dimensional array where ROW0 consists of the entries in the top row of the corresponding table delimited by commas, and so on.


Road mileage table

The row and column headers are not a part of the matrix

Road-Mileage Table

Dim rm(3, 3) As Double

rm(0,0)=0, rm(0,1)=2054, rm(1,2)=2786


Implicit array assignment road mileage

Implicit Array AssignmentRoad-Mileage

Dimrm(,) As Double = {{0, 2054, 802, 738},

{2054, 0, 2786, 2706},

{802, 2786, 0, 100},

{738, 2706, 100, 0}}

declares and initializes an array of road-mileages.


Getupperbound method

GetUpperBound Method

After execution of the statement

DimarrayName(r, c) As varType

  • the value of arrayName.GetUpperBound(0) is r,

  • and the value of arrayName.GetUpperBound(1) is c.


Filling a two dimensional array with a text file

Filling a Two-Dimensional Array with a Text File

Text File Distances.txt

0,2054,802,738

2054,0,2786,2706

802,2786,0,100

738,2706,100,0

In the next set of code we will read the values of this text file into a two dimensional array.


Filling a two dimensional array with a text file cont

Filling a Two-Dimensional Array with a Text File (cont.)

Dimrm(3, 3) As Double 'road mileage

DimrowOfNums() AsString=

IO.File.ReadAllLines("Distances.txt")

Dimline, data() As String

ForiAs Integer = 0To 3

line = rowOfNums(i)

data = line.Split(""c)

For jAs Integer= 0 To3

rm(i, j) = CDbl(data(j))

Next

Next


Outputting data from a matrix

Outputting Data from a Matrix

Private Sub PrintMatrix(rm() as Double)

‘Print a 3 x 3 matrix

Dim build as String

Forrow As Integer = 0 Torm.getupperbound(0)

build = “”

Forcol As Integer = 0 Torm.getupperbound(1) build = build &Cstr(rm(row, col)) & “ “

Next

lstbox.items.add(build)

Next

End Sub


Printing a matrix in zones

Printing a Matrix in Zones

'Print a 3 x 3 matrix

Dim rm(,) AsDouble = {{2, 3, 5},

{1, 4, 6},

{0, 7, 9}}

Dim frtstr AsString = "{0,-15} {1,-15} {2,-15}"

For row AsInteger = 0 To 2

ListBox1.Items.Add(String.Format(frtstr, rm(row, 0), rm(row, 1), rm(row, 2)))

Next


Outputting to a datagridview

Outputting To A DataGridView

First create the columns for your matrix


Code for outputting to a datagridview

Code For Outputting to a DataGridView

Dim example(,) AsInteger = {{1, 2, 3, 4},

{5, 6, 7, 8},

{9, 10, 11, 12}}

For r AsInteger = 0 To 2

DataGridView1.Rows.Add()

For c AsInteger = 0 To 3

DataGridView1.Item(c, r).Value = example(r, c)

Next

Next

Matrices rows first, columns second

DataGridView columns are listed first …Blah


Datagridview column headers

DataGridView Column Headers

Dim example(,) AsInteger = {{1, 2, 3, 4},

{5, 6, 7, 8},

{9, 10, 11, 12}}

For c AsInteger = 0 To 3

DataGridView1.Columns.Add(CStr(c), "Column " & c)

Next

For r AsInteger = 0 To 2

DataGridView1.Rows.Add()

For c AsInteger = 0 To 3

DataGridView1.Item(c, r).Value = example(r, c)

Next

Next

Column name


Datagridview row headers

DataGridView Row Headers

Dim columns() AsString = {"Column1", "Column2", "Column3"}

Dim Rows() AsString = {"Row1", "Row2", "Row3"}

Dim array2d(,) AsInteger = {{1, 2, 3},

{4, 5, 6},

{7, 8, 9}}

For c AsInteger = 0 To columns.Count - 1

DataGridView1.Columns.Add(columns(c), columns(c))

Next

For r AsInteger = 0 To Rows.Count - 1

DataGridView1.Rows.Add()

DataGridView1.Rows(r).HeaderCell.Value = Rows(r)

For c AsInteger = 0 To columns.Count - 1

DataGridView1.Item(c, r).Value = array2d(r, c)

Next

Next

1st Add the row

2nd Assign the row array to the dgv


Processing each element using a for each

Processing Each Element Using a For Each

Dim nums(,) AsDouble = {{7, 3, 1, 0},

{2, 5, 9, 8},

{0, 6, 4, 10}}

'use a For Each loop

Dim total AsDouble = 0

ForEach num AsDoubleIn nums

If num Mod 2 = 0 Then

total += num

EndIf

Next

lstOutput.Items.Add(total)

Finding the sum of the even numbers in a

Matrix.


Processing a matrix using a linq query

Processing a Matrix Using a LINQ Query

Dimnums(,) AsDouble = {{7, 3, 1, 0},

{2, 5, 9, 8},

{0, 6, 4, 10}}

'use a For Each loop

'use LINQ

Dim query = FromnumInnums.Cast(OfDouble)()

Where (numMod 2 = 0)

Selectnum

lstOutput.Items.Add(query.Sum)


How do we add up the values in a column

How do we add up the values in a column?

Can you create a For Loop to add up the columns?

2 3 6 8

7 1 4 5

0 2 -2 9

x(0,0) x(0,1) x(0,2) x(0,3) x(0,4)

x(1,0) x(1,1) x(1,2) x(1,3) x(1,4)

x(2,0) x(2,1) x(2,2) x(2,3) x(2,4)


  • Login