Chào các anh em!
Lâu rồi không tạo chủ đề mới, tranh thủ hôm nay trời mưa, tôi post vài hàm trong VB để anh em cùng tham khảo. Cũng rất mong anh em, ai có hàm gì hay hay post lên đây thường xuyên để cũng tra đổi và học tập. Các hàm có thể đơn giản mà hiệu quả cao thì rất hoan nghênh.
1- Hàm sắp xếp các tành phần trong mảng theo thứ tự ăng dần
Sub SapXepThuTuMang(Mang)
Dim i As Long, j As Long
For i = 0 To UBound(Mang)
For j = 0 To UBound(Mang)
If i <> j And Mang(i) < Mang(j) Then
HoanVi Mang(i), Mang(j)
End If
Next j
Next i
End Sub
'=================================================
2- Hàm tìm Max của nhiều thành phần
Function TimMax(thamso As Variant)
Dim i As Integer
TimMax = -1E+50
For i = 0 To UBound(thamso)
If thamso(i) > TimMax Then
TimMax = thamso(i)
End If
Next
End Function
'=============================================
3- Hàm tìm Min của nhiều thành phần
Function TimMin(thamso As Variant)
Dim i As Integer
TimMin = thamso(LBound(thamso))
For i = LBound(thamso) To UBound(thamso)
If thamso(i) < TimMin Then
TimMin = thamso(i)
End If
Next
End Function
Lâu rồi không tạo chủ đề mới, tranh thủ hôm nay trời mưa, tôi post vài hàm trong VB để anh em cùng tham khảo. Cũng rất mong anh em, ai có hàm gì hay hay post lên đây thường xuyên để cũng tra đổi và học tập. Các hàm có thể đơn giản mà hiệu quả cao thì rất hoan nghênh.
1- Hàm sắp xếp các tành phần trong mảng theo thứ tự ăng dần
Sub SapXepThuTuMang(Mang)
Dim i As Long, j As Long
For i = 0 To UBound(Mang)
For j = 0 To UBound(Mang)
If i <> j And Mang(i) < Mang(j) Then
HoanVi Mang(i), Mang(j)
End If
Next j
Next i
End Sub
'=================================================
2- Hàm tìm Max của nhiều thành phần
Function TimMax(thamso As Variant)
Dim i As Integer
TimMax = -1E+50
For i = 0 To UBound(thamso)
If thamso(i) > TimMax Then
TimMax = thamso(i)
End If
Next
End Function
'=============================================
3- Hàm tìm Min của nhiều thành phần
Function TimMin(thamso As Variant)
Dim i As Integer
TimMin = thamso(LBound(thamso))
For i = LBound(thamso) To UBound(thamso)
If thamso(i) < TimMin Then
TimMin = thamso(i)
End If
Next
End Function



Các bác không chuyên rồi. Thuật toán "sủi bọt" (bubble sort) này là thuật toán cơ bản nhất khi học tin. Ở đây ta nên dùng với phép lặp điều kiện thì đúng hơn là với phép lặp đếm. Điều này cho phép chủ động dừng vòng lặp khi thuật toán đã hoàn tất (chứ không nhất thiết phải thực hiện toàn bộ 2 phép lặp chồng nhau) và sẽ không sót trường hợp nào.
Ghi chú