Nhờ các thầy giúp đỡ: tìm bộ 3 số có hàng tần suất chung theo đều là số 1 theo yêu cầ (1 người xem)

Người dùng đang xem chủ đề này

nockout159

Thành viên mới
Tham gia
16/2/12
Bài viết
43
Được thích
0
Em chào các thầy ạ!
Em có 1 bài toán muốn nhờ các thầy giúp đỡ, nội dung như sau ạ:

Trong file đính kèm:

- Cột A: Số thứ tự em đánh số từ 00-99

Yêu cầu:

-
Tìm tất cả các hàng tần suất chung của bộ 3 số mà trong hàng tần suất chung đó ko chứa số 0 nào cả
( Ví dụ: Hàng tần suất chung của 3 số : 00, 01, 02 là hàng 104 )

Mong các thầy giúp đỡ ạ!
E xin cảm ơn !

 

File đính kèm

Lần chỉnh sửa cuối:
( Ví dụ: Hàng tần suất chung của 3 số : 00, 01, 02 là hàng 104 )


Hình như bạn có nhầm lẫn.
Hàng 104 trong bài này không phải là "hàng tần suất chung của bộ 3 số" theo cách hiểu mà tôi đã thấy ở tập tin đính kèm trong bài #1 của chủ đề

http://www.giaiphapexcel.com/forum/...-các-thầy-giúp-đỡ-tìm-bộ-3-số-có-max-nhỏ-nhất

Hàng 104 trong bài này chính là hàng 102 trong bài nói trên (nó có giá trị 2 ở cột B và cột O).
"hàng tần suất chung của bộ 3 số" chỉ có số 0 và 1 theo cách hiểu trong chủ đề ở link trên.

Bạn kiểm tra lại.
 
Lần chỉnh sửa cuối:
Hình như bạn có nhầm lẫn.

Nếu đúng là bạn nhầm và cách hiểu "hàng tần suất chung của bộ 3 số" vẫn như chủ đề trước thì

[GPECODE=vb]
Sub test()
Dim Arr, i As Long, j As Long, k As Long, index As Long
Dim sodong As Long, socot As Long, Arr123(), count As Long, good As Boolean
Range("102:105").ClearContents

Arr = Range("B1:P100").Value

sodong = UBound(Arr)
socot = UBound(Arr, 2)

For i = 1 To sodong
For j = i + 1 To sodong
For k = j + 1 To sodong
good = True
For index = 1 To socot
' neu cot co 3 so 0 thi "hang tuan suat chung" khong dat yeu cau, ra khoi vong lap
If Arr(i, index) + Arr(j, index) + Arr(k, index) = 0 Then
good = False
Exit For
End If
Next index
If good Then ' neu "hang tuan suat chung" toan so 1, tuc dat yeu cau thi ...
count = count + 1
ReDim Preserve Arr123(1 To 3, 1 To count)
' ghi bo 3 so tiep theo
Arr123(1, count) = i - 1: Arr123(2, count) = j - 1: Arr123(3, count) = k - 1
End If
Next k
Next j
Next i

' neu khong co "hang tuan suat chung" nao dat yeu cau thi ra khoi SUB
If count = 0 Then Exit Sub

' liet ke cac bo 3 so. Moi bo 3 so nam trong 1 cot
Cells(sodong + 2, 2).Value = "M" & ChrW(7895) & "i b" & ChrW(7897) & " ba s" & ChrW(7889) & " n" & ChrW(7857) & "m trong m" & ChrW(7897) & "t c" & ChrW(7897) & "t:"
Cells(sodong + 3, 2).Resize(3, count).Value = Arr123
End Sub
[/GPECODE]

------------
Nếu bạn thay vùng mới thì sửa chỗ đỏ đỏ trong Arr = Range("B1:P100").Value
Tôi không liệt kê các "hàng tần suất chung của bộ 3 số" vì chúng chi có toàn số 1 mà thôi.
 

File đính kèm

Bài viết mới nhất

Back
Top Bottom