Xem mẫu
- 2.2 M ng ñ ng
M ng ñ ng là m ng không xác ñ nh rõ s ph n t khi
khai báo.
Cú pháp khai báo:
[Dim | Private | Public | Static] Tên_m ng() As Ki u
Ví d : Dim St() As String
C p phát b nh :
ReDim Tên_m ng(s ph n t ) As Ki u
Ví d : Dim St() As String
ReDim St(9)
23
23
This is trial version
Written by: Dương Thành Ph t http://www.thayphet.net
www.adultpdf.com
- Khi ñã khai báo và c p phát vùng nh cho m ng
ñ ng, khi c n ta v n có th thay ñ i l i kích thư c c a
m ng b ng l nh ReDim
Ví du :
Dim MyArray() As Integer ' Khai báo m ng ñ ng.
Redim MyArray(5) ' c p phát 5 ph n t .
For i = 1 To 5 ' L p 5 l n.
MyArray(i) = i
Next i
Redim MyArray(10)
For i = 1 To 10
MyArray(i) =i
Next i
24
24
This is trial version
Written by: Dương Thành Ph t http://www.thayphet.net
www.adultpdf.com
- M c ñ nh, khi dùng l nh Redim ñ c p phát l i s
ph n t trong m ng thì các giá tr cũ s b m t ñi.
ð gi l i các giá tr cho các ph n t cũ trong m ng ta
ph i dùng thêm t khoá Preserve
Ví du :
Dim MyArray() As Integer ' Khai báo m ng ñ ng.
Redim MyArray(5) ' c p phát 5 ph n t .
For i = 1 To 5 ' L p 5 l n.
MyArray(i) = i kh i t o giá tr cho m ng.
Next i
…
Redim Preserve MyArray(15)
'c p phát l i 15 pt cho m ng nhưng v n gi l i
‘các giá tr cũ c a 5 ph n t ñ u.
25
25
This is trial version
Written by: Dương Thành Ph t http://www.thayphet.net
www.adultpdf.com
- 2.3 M ng ña chi u
Visual Basic cho phép khai báo và s d ng m ng ña
chi u.
Ví d khai báo m ng 2 chi u, m i chi u 10 ph n t .
Dim MatrixA(9, 9) As Double
Ta cũng có th xác ñ nh rõ ràng các ch s trên, ch s
dư i c a m ng ña chi u như ví d sau ñây:
Dim MatrixA(1 To 10, 1 To 10) As Double
26
26
This is trial version
Written by: Dương Thành Ph t http://www.thayphet.net
www.adultpdf.com
- Lưu ý :
M i m t ph n t c a m ng chi m m t vùng nh nh t
ñ nh, do ñó, ñ ti t ki m b nh , ta ch nên khai báo
m ng v i s ph n t v a ñ .
Không th t o m ng có quá 2.147.483.647 ph n t . Vì
có th d n ñ n l i “Out Of Memory” khi ch y chương
trình.
27
27
This is trial version
Written by: Dương Thành Ph t http://www.thayphet.net
www.adultpdf.com
- 2.4 Các x lý trên m ng
Hàm v m ng
Split(Chu i [, D u phân cách [, s ph n t ]]):
C t 1 chu i thành m t m ng các chu i con.
Join(M ng [, D u phân cách]):
Tr v chu i k t h p các ph n t trong 1 m ng
VD:
Dim A() = Split(txtNhap.Text, "-")
txtKetqua.Text = Join(A, "/")
28
28
This is trial version
Written by: Dương Thành Ph t http://www.thayphet.net
www.adultpdf.com
- Tìm ki m các ph n t th a ñi u ki n cho tr c
For i = 0 To n-1
IF A(i) = n Then
Th c hi n các x lý
End If
Next
29
29
This is trial version
Written by: Dương Thành Ph t http://www.thayphet.net
www.adultpdf.com
- Tìm giá tr nh nh t/ l n nh t và v trí
Dim gtnn as Integer, vtgtnn as Integer
gtnn=A(0)
vttnn=0
For i = 0 To n-1
If( A(i) < gtnn then
gtnn=A(i)
vtgtnn=i
End If
Next
30
30
This is trial version
Written by: Dương Thành Ph t http://www.thayphet.net
www.adultpdf.com
- d. Tính t ng c a các ph n t trong m ng.
Dim Tong as Integer =0
For i = 0 to n-1
Tong=Tong + A(i)
Next
Ghi chú: Tương t ta có yêu c u tính toán khác
31
31
This is trial version
Written by: Dương Thành Ph t http://www.thayphet.net
www.adultpdf.com
- Ví d : T o project x lý m ng s nguyên
Yêu c u:
T o 5 Text Box ch a 5 s nguyên ng u nhiên (t
1 ñ n 100) khi click vào nút nh p.
Tìm giá tr s l n nh t và v trí
Tính t ng giá tr các ph n t
Các Textbox luôn ReadOnly
32
32
This is trial version
Written by: Dương Thành Ph t http://www.thayphet.net
www.adultpdf.com
- e. S p x p tăng d n/ gi m các ph n t trong m ng
Sub Sapxep(ByVal a() As Integer, ByVal n As Integer)
Dim tam As Integer
Dim i As Integer, j As Integer
For i = 0 To n - 2
For j = i + 1 To n - 1
If a(i) > a(j) Then
tam = a(i)
a(i) = a(j)
a(j) = tam
End If
Next
Next
End Sub 2 8 5 1 6 4
12
i=1 j=2
i=2 j=3
i=3 j=4
i=4 j=5
i=5 j=6
i=6 j=7
i=7
33
33
This is trial version
Written by: Dương Thành Ph t http://www.thayphet.net
www.adultpdf.com
nguon tai.lieu . vn