Xem mẫu

  1. 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
  2. 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
  3. 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
  4. 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
  5. 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
  6. 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
  7. 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
  8. 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
  9. 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
  10. 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
  11. 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