Chào các bác,
E có 2 vòng lặp muốn kết hợp lại thành 1. Nhưng có 1 vấn đề là số lần kết thúc vòng lặp của mỗi cái lại khác nhau. Như ở ví dụ dưới đây, e có 2 mảng 1 chiều p(j) và n(l), e muốn kết hợp 2 vòng for next ( của j và l) làm 1 vì e muốn so sánh sau mỗi lần lặp giá trị của p(j) và n(l) tương ứng ( ví dụ k=l=1 hoặc k=l=2). Nhưng sau mỗi lần lặp các giá trị trong mỗi mảng p và n lại đều =1. Cái đoạn if ở cuối cùng (mầu đỏ) e ko biết phải xử lý thế nào? Mong các bác giúp e. Cám ơn các bác nhiều!!!
Ví dụ đoạn code :
k = 1
counter_p = 0
counter_n = 0
Do
For j = 1 To v
If j > UBound(p) Then
ReDim Preserve p(j, 1)
End If
If p(j, 1) = 0 Then
p(j, 1) = 1
counter_p = counter_p + 1
End If
Next
For l = 1 To w
If l > UBound(n) Then
ReDim Preserve n(l, 1)
End If
If n(l, 1) = 0 Then
n(l, 1) = 1
counter_n = counter_n + 1
End If
Next
If p(j, 1) = n(l, 1) = 1 Then
j = l = k
s(k, 1) = s(k, 1) + 1
p(k, 1) = n(k, 1) = 0
End If
k = k + 1
Loop Until counter_p = v And counter_n = w
E có 2 vòng lặp muốn kết hợp lại thành 1. Nhưng có 1 vấn đề là số lần kết thúc vòng lặp của mỗi cái lại khác nhau. Như ở ví dụ dưới đây, e có 2 mảng 1 chiều p(j) và n(l), e muốn kết hợp 2 vòng for next ( của j và l) làm 1 vì e muốn so sánh sau mỗi lần lặp giá trị của p(j) và n(l) tương ứng ( ví dụ k=l=1 hoặc k=l=2). Nhưng sau mỗi lần lặp các giá trị trong mỗi mảng p và n lại đều =1. Cái đoạn if ở cuối cùng (mầu đỏ) e ko biết phải xử lý thế nào? Mong các bác giúp e. Cám ơn các bác nhiều!!!
Ví dụ đoạn code :
k = 1
counter_p = 0
counter_n = 0
Do
For j = 1 To v
If j > UBound(p) Then
ReDim Preserve p(j, 1)
End If
If p(j, 1) = 0 Then
p(j, 1) = 1
counter_p = counter_p + 1
End If
Next
For l = 1 To w
If l > UBound(n) Then
ReDim Preserve n(l, 1)
End If
If n(l, 1) = 0 Then
n(l, 1) = 1
counter_n = counter_n + 1
End If
Next
If p(j, 1) = n(l, 1) = 1 Then
j = l = k
s(k, 1) = s(k, 1) + 1
p(k, 1) = n(k, 1) = 0
End If
k = k + 1
Loop Until counter_p = v And counter_n = w