Sắp xếp chỗ ngồi tự động cho học sinh trong lớp. (1 người xem)

Liên hệ QC

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

thaily1983

Thành viên mới
Tham gia
31/10/21
Bài viết
12
Được thích
2
Chào các anh chị, e là thành viên mới, nhờ các anh chị giúp đỡ. Nội dung như sau:
1- Số liệu đầu vào:
+ Danh sách học sinh.
+ Thông tin học sinh ( giới tính, chiều cao...)
+ Danh sách chỗ ngồi ( sơ đồ)
2 - Kết quả:
Viết công thức (hoặc code) để tự động sắp xếp chỗ ngồi theo các đk ràng buộc như sau:
1/ Lớp trưởng, lớp phó ngồi bàn 4 trở xuống quản lý lớp
2/ tổ trưởng chia đều 4 tổ và theo tổ viên của mình
3/ tổ trưởng ngồi ở vị trí thích hợp để quản lý tổ (từ bàn 4-6)
4/ hsg (hoặc khá) - ngồi với hs TB- Yếu
5/ hai hsg (hoặc yếu, hoặc TB) không ngồi cùng 1 bàn
6/ học sinh bị cận thị ngồi từ bàn 1-3,..
7/ Số Nam số nữ đều giữa các tổ
8/ Ban cán sự lớp phân bố đều giữa các tổ
(có file đính kèm minh họa)
Em cám ơn.
 

File đính kèm

Chào các anh chị, e là thành viên mới, nhờ các anh chị giúp đỡ. Nội dung như sau:
1- Số liệu đầu vào:
+ Danh sách học sinh.
+ Thông tin học sinh ( giới tính, chiều cao...)
+ Danh sách chỗ ngồi ( sơ đồ)
2 - Kết quả:
Viết công thức (hoặc code) để tự động sắp xếp chỗ ngồi theo các đk ràng buộc như sau:
1/ Lớp trưởng, lớp phó ngồi bàn 4 trở xuống quản lý lớp
2/ tổ trưởng chia đều 4 tổ và theo tổ viên của mình
3/ tổ trưởng ngồi ở vị trí thích hợp để quản lý tổ (từ bàn 4-6)
4/ hsg (hoặc khá) - ngồi với hs TB- Yếu
5/ hai hsg (hoặc yếu, hoặc TB) không ngồi cùng 1 bàn
6/ học sinh bị cận thị ngồi từ bàn 1-3,..
7/ Số Nam số nữ đều giữa các tổ
8/ Ban cán sự lớp phân bố đều giữa các tổ
(có file đính kèm minh họa)
Em cám ơn.
1./ Có điều kiện gì về số lượng nam nữ trong 1 bàn?
2./ Sơ đồ là cố định hay là sau 1 thời gian thì thay đổi?
3./ Là cấp học nào?
 
dạ :
1. ko có điều kiện số lượng nam nữ trong 1 bàn.
2. Bàn ghế không thay đổi, vị trí chỗ ngồi học sinh sẽ thay đổi trong 1 tháng.
3. Dạ là học sinh cấp 2 ạ.
Nhờ anh chị nghiên cứu nghiên cứu giúp!
 
Bài toán kiểu tối ưu này khó viết code lắm.
 
dạ :
1. ko có điều kiện số lượng nam nữ trong 1 bàn.
2. Bàn ghế không thay đổi, vị trí chỗ ngồi học sinh sẽ thay đổi trong 1 tháng.
3. Dạ là học sinh cấp 2 ạ.
Nhờ anh chị nghiên cứu nghiên cứu giúp!
Chạy thử file đính kèm, các tiêu chí sẽ điều chỉnh bổ sung sau khi test.
Thứ tự ưu tiên sắp xếp: Học lực, bệnh về mắt, chiều cao, giới tính, số thứ tự
Mã:
Option Explicit

Sub Xepcho()
Dim Nguon
Dim Thongke
Dim Nm0, Nm1, N0, N1, Hl 'Hl = hocluc
Dim Gt0, Gt1, Gt 'gioitinh
Dim Kq
Dim TgBan, Ban, Vt, Ten
Dim rws, cls
Dim i, j, k, t

Nguon = Sheet2.Range("A1").CurrentRegion
rws = UBound(Nguon)
cls = UBound(Nguon, 2)

ReDim Thongke(1 To rws - 1)
N0 = rws: N1 = rws: Nm0 = rws: Nm1 = rws
TgBan = rws \ 8 + 1
For i = 2 To rws
    If Nguon(i, 6) <> "" Then 'canthi
        Nguon(i, 6) = 1
    Else
        Nguon(i, 6) = 0
    End If
    
    Nguon(i, 5) = 100 - Mid(Nguon(i, 5) & 0, 3, 2) * 1 'chieucao
    
    If Nguon(i, 7) = "Kh" & ChrW(225) Or Nguon(i, 7) = "Gi" & ChrW(7887) & "i" Then 'hocluc
        If Nguon(i, 3) = 0 Then
            N0 = N0 - 1
            Hl = N0
        Else
            N1 = N1 - 1
            Hl = N1
        End If
    Else
        If Nguon(i, 3) = 0 Then
            Nm0 = Nm0 - 1
            Hl = Nm0
        Else
            Nm1 = Nm1 - 1
            Hl = Nm1
        End If
    End If
    
    If Nguon(i, 3) = 0 Then 'gioitinh
        Gt0 = Gt0 + 1
        Gt = Gt0
    Else
        Gt1 = Gt1 + 1
        Gt = Gt1
    End If
    
    k = (((Hl * 10 + Nguon(i, 6)) * 100 + Nguon(i, 5)) * 10 + Gt) * 100 + i
    
    Thongke(i - 1) = k
Next i
sortZA1D Thongke

ReDim Kq(1 To UBound(Nguon) \ 8 + 1, 1 To 9)
For i = 1 To rws - 1
    Ban = (i - 1) \ 8 + 1
    Ban = TgBan - Ban + 1
    Vt = (i - 1) Mod 8 + 1
    If Vt > 4 Then Vt = Vt + 1
    
    k = Thongke(i) Mod 100
    Ten = Nguon(k, 2) & "_" & Nguon(k, 3) & "_" & "1m" & 100 - Nguon(k, 5) & "_" & Nguon(k, 7)
    'Ten = Nguon(k, 2)
    Kq(Ban, Vt) = Ten
Next i
    
With Sheet3
    .UsedRange.Clear
    .Range("A6").Resize(UBound(Kq), UBound(Kq, 2)) = Kq
    .Range("A6").Resize(UBound(Kq), UBound(Kq, 2)).Borders.LineStyle = 1
    .UsedRange.ColumnWidth = 2
    .UsedRange.Columns.AutoFit
End With
End Sub
 

File đính kèm

thấy danh sách có 41 học sinh, tức là 1 học sinh có thể ngồi 41 chỗ ngồi khác nhau,
nhưng 1 học sinh không thể ngồi 1 lúc 2 chỗ , vậy bài này thuộc dạng tổ hợp không lặp ,
tuy tổ hợp không lặp nhưng với 41 phần tử cũng là quá nhiều ,
8 điều kiện bên trên (nhánh cận) cũng loại trừ được kha khá trường hợp rồi ,
nên bài này có khả năng tính đc !

giả xử lớp có 3 học sinh thì có thể có các trường hợp !
123
132
213
231
312
321
tức là số trường hợp xảy ra trong trường hợp không có ràng buộc là 3!
 
Lần chỉnh sửa cuối:
Chạy thử file đính kèm, các tiêu chí sẽ điều chỉnh bổ sung sau khi test.
Thứ tự ưu tiên sắp xếp: Học lực, bệnh về mắt, chiều cao, giới tính, số thứ tự
Mã:
Option Explicit

Sub Xepcho()
Dim Nguon
Dim Thongke
Dim Nm0, Nm1, N0, N1, Hl 'Hl = hocluc
Dim Gt0, Gt1, Gt 'gioitinh
Dim Kq
Dim TgBan, Ban, Vt, Ten
Dim rws, cls
Dim i, j, k, t

Nguon = Sheet2.Range("A1").CurrentRegion
rws = UBound(Nguon)
cls = UBound(Nguon, 2)

ReDim Thongke(1 To rws - 1)
N0 = rws: N1 = rws: Nm0 = rws: Nm1 = rws
TgBan = rws \ 8 + 1
For i = 2 To rws
    If Nguon(i, 6) <> "" Then 'canthi
        Nguon(i, 6) = 1
    Else
        Nguon(i, 6) = 0
    End If
   
    Nguon(i, 5) = 100 - Mid(Nguon(i, 5) & 0, 3, 2) * 1 'chieucao
   
    If Nguon(i, 7) = "Kh" & ChrW(225) Or Nguon(i, 7) = "Gi" & ChrW(7887) & "i" Then 'hocluc
        If Nguon(i, 3) = 0 Then
            N0 = N0 - 1
            Hl = N0
        Else
            N1 = N1 - 1
            Hl = N1
        End If
    Else
        If Nguon(i, 3) = 0 Then
            Nm0 = Nm0 - 1
            Hl = Nm0
        Else
            Nm1 = Nm1 - 1
            Hl = Nm1
        End If
    End If
   
    If Nguon(i, 3) = 0 Then 'gioitinh
        Gt0 = Gt0 + 1
        Gt = Gt0
    Else
        Gt1 = Gt1 + 1
        Gt = Gt1
    End If
   
    k = (((Hl * 10 + Nguon(i, 6)) * 100 + Nguon(i, 5)) * 10 + Gt) * 100 + i
   
    Thongke(i - 1) = k
Next i
sortZA1D Thongke

ReDim Kq(1 To UBound(Nguon) \ 8 + 1, 1 To 9)
For i = 1 To rws - 1
    Ban = (i - 1) \ 8 + 1
    Ban = TgBan - Ban + 1
    Vt = (i - 1) Mod 8 + 1
    If Vt > 4 Then Vt = Vt + 1
   
    k = Thongke(i) Mod 100
    Ten = Nguon(k, 2) & "_" & Nguon(k, 3) & "_" & "1m" & 100 - Nguon(k, 5) & "_" & Nguon(k, 7)
    'Ten = Nguon(k, 2)
    Kq(Ban, Vt) = Ten
Next i
   
With Sheet3
    .UsedRange.Clear
    .Range("A6").Resize(UBound(Kq), UBound(Kq, 2)) = Kq
    .Range("A6").Resize(UBound(Kq), UBound(Kq, 2)).Borders.LineStyle = 1
    .UsedRange.ColumnWidth = 2
    .UsedRange.Columns.AutoFit
End With
End Sub
Nhờ anh (chị) CHAOQUAY có thể giúp mình thêm là cứ 2 tuần mình sắp xếp một kết quả khác với ạ.
 
Nhờ anh (chị) CHAOQUAY có thể giúp mình thêm là cứ 2 tuần mình sắp xếp một kết quả khác với ạ.
Bạn thay code trên = code dưới đây.
Mã:
Option Explicit

Sub Xepcho_()
Dim Nguon
Dim Thongke
Dim Nm0, Nm1, N0, N1, Hl 'Hl = hocluc
Dim Gt0, Gt1, Gt 'gioitinh
Dim Kq
Dim TgBan, Ban, Vt, Ten
Dim rws, cls
Dim i, j, k, t

With Sheet2
    Thongke = .Range("A2", .Range("A" & Rows.Count).End(xlUp))
    rws = UBound(Thongke)
    ReDim Nguon(1 To rws + 1, 1 To 7)
    Randomize
    For i = 1 To UBound(Thongke)
        k = Rnd() * 100 Mod rws + 1
        t = Thongke(k, 1)
        Thongke(k, 1) = Thongke(rws, 1)
        rws = rws - 1
        For j = 1 To 7
            Nguon(i + 1, j) = .Cells(t + 1, j).Value
        Next j
    Next i
End With
rws = UBound(Nguon)
cls = UBound(Nguon, 2)

ReDim Thongke(1 To rws - 1)
N0 = rws: N1 = rws: Nm0 = rws: Nm1 = rws
TgBan = rws \ 8 + 1
For i = 2 To rws
    If Nguon(i, 6) <> "" Then 'canthi
        Nguon(i, 6) = 1
    Else
        Nguon(i, 6) = 0
    End If
    
    Nguon(i, 5) = 100 - Mid(Nguon(i, 5) & 0, 3, 2) * 1 'chieucao
    
    If Nguon(i, 7) = "Kh" & ChrW(225) Or Nguon(i, 7) = "Gi" & ChrW(7887) & "i" Then 'hocluc
        If Nguon(i, 3) = 0 Then
            N0 = N0 - 1
            Hl = N0
        Else
            N1 = N1 - 1
            Hl = N1
        End If
    Else
        If Nguon(i, 3) = 0 Then
            Nm0 = Nm0 - 1
            Hl = Nm0
        Else
            Nm1 = Nm1 - 1
            Hl = Nm1
        End If
    End If
    
    If Nguon(i, 3) = 0 Then 'gioitinh
        Gt0 = Gt0 + 1
        Gt = Gt0
    Else
        Gt1 = Gt1 + 1
        Gt = Gt1
    End If
    
    k = (((Hl * 10 + Nguon(i, 6)) * 100 + Nguon(i, 5)) * 10 + Gt) * 100 + i
    
    Thongke(i - 1) = k
Next i
sortZA1D Thongke

ReDim Kq(1 To UBound(Nguon) \ 8 + 1, 1 To 9)
For i = 1 To rws - 1
    Ban = (i - 1) \ 8 + 1
    Ban = TgBan - Ban + 1
    Vt = (i - 1) Mod 8 + 1
    If Vt > 4 Then Vt = Vt + 1
    
    k = Thongke(i) Mod 100
    Ten = Nguon(k, 2) & "_" & Nguon(k, 3) & "_" & "1m" & 100 - Nguon(k, 5) & "_" & Nguon(k, 7)
    'Ten = Nguon(k, 2)
    Kq(Ban, Vt) = Ten
Next i
    
With Sheet3
    .UsedRange.Clear
    .Range("A6").Resize(UBound(Kq), UBound(Kq, 2)) = Kq
    .Range("A6").Resize(UBound(Kq), UBound(Kq, 2)).Borders.LineStyle = 1
    .UsedRange.ColumnWidth = 2
    .UsedRange.Columns.AutoFit
End With
End Sub

---
Về cán bộ lớp: Cả 2 code trên đều chưa có ưu tiên khi xếp chỗ. Có lẽ vị trí cán bộ lớp cần phải xếp = tay, sau đó sẽ sắp xếp cho các học sinh còn lại. Việc này bạn cân nhắc, nếu cần sẽ hiệu chỉnh
 
Hay thật, code khá gọn, cám ơn bác ChaoQuay.
Em xin hỏi vài câu để nắm thêm vấn đề, nếu bác có thời gian thì hoàn thiện luôn cũng được ;)
1/ Thứ tự ưu tiên khi sắp xếp có thể đưa ra bên ngoài để người dùng lựa chọn không? (hiệu chỉnh code)
2/ Về điều kiện "cán bộ lớp": lỡ tự động rồi thì tự động luôn, đề xuất đưa vào mức độ ưu tiên đầu tiên, sắp xếp cuối lớp, lớp trưởng và lớp phó ở 02 dãy bàn riêng biệt. Như vậy có được không anh? (hiệu chỉnh code)
3/ Nếu không giả sử thứ tự ưu tiên (thỏa mãn cùng lúc 08 điều kiện) thì có sắp xếp được không? (tính khả thi)
4/ Nếu không dùng code, chỉ dùng công thức hàm Excel có sẵn + Solve thì có thể giải bài toán này được không anh? (tính khả thi)
Nhờ bác tư vấn giúp, em cám ơn.
 
Hay thật, code khá gọn, cám ơn bác ChaoQuay.
Em xin hỏi vài câu để nắm thêm vấn đề, nếu bác có thời gian thì hoàn thiện luôn cũng được ;)
1/ Thứ tự ưu tiên khi sắp xếp có thể đưa ra bên ngoài để người dùng lựa chọn không? (hiệu chỉnh code)
2/ Về điều kiện "cán bộ lớp": lỡ tự động rồi thì tự động luôn, đề xuất đưa vào mức độ ưu tiên đầu tiên, sắp xếp cuối lớp, lớp trưởng và lớp phó ở 02 dãy bàn riêng biệt. Như vậy có được không anh? (hiệu chỉnh code)
3/ Nếu không giả sử thứ tự ưu tiên (thỏa mãn cùng lúc 08 điều kiện) thì có sắp xếp được không? (tính khả thi)
4/ Nếu không dùng code, chỉ dùng công thức hàm Excel có sẵn + Solve thì có thể giải bài toán này được không anh? (tính khả thi)
Nhờ bác tư vấn giúp, em cám ơn.
3: Tính sơ sơ thì đây là bài tổ hợp chập 4 của 41 ( 4 học sinh 1 bàn ). Có khoảng >100000 kết quả.
Giả sử 1 tiết học sử dụng 1 sơ đồ xếp chỗ, tạm tính cho 1 năm học như sau:
1 năm học là 10 tháng, 1 tháng là 31 ngày, 1 ngày 2 buổi, 1 buổi 5 tiết = 10*31*2*5 = 3100 tiết

Với cách tinh trên, nếu 1 tiết học sử dụng 1 sơ đồ xếp chỗ, cần khoáng >32 năm mới dùng hết các sơ đồ.
Cái này có lẽ để mấy bác chuyên giáo dục đánh giá tính khả thi là hợp lý hơn cả

4: Solver + công thức + bảng phụ có thể giải được, nhưng 1 lần tính chắc chỉ ra được 1 sơ đồ.

1 & 2: Chắc code này chủ thớt chỉ làm tham khảo nên 2 mục này chỉ làm tới đây thôi.
 
nếu tính theo bàn thì giả xử có 12 học sinh !
bàn 1 là tổ hợp chập 4 của 12 , bàn 2 là tổ hợp chập 4 của 8,
2 kết quả bàn 1 , bàn 2 nhân với nhau sẽ ra số trường hợp @@
 
nếu tính theo bàn thì giả xử có 12 học sinh !
bàn 1 là tổ hợp chập 4 của 12 , bàn 2 là tổ hợp chập 4 của 8,
2 kết quả bàn 1 , bàn 2 nhân với nhau sẽ ra số trường hợp @@
Bài trên chỉ là tính sơ sơ thôi bạn.
Như của bạn có lẽ còn phải thêm cả hoán vị vào nữa bạn nhỉ.

code giúp chủ thớt đi bạn
 
Bài này làm code là chuẩn, và bác ChaoQuay xử lý được 99% khối lượng rồi, 1% để chủ thớt tự hoàn thiện.
Anh em học hỏi được nhiều, cám ơn.:bye1:
 
E cảm ơn ban CHAOQUAY rất nhiều ạ.
Anh ( chị) có thể giup e: e thấy kết quả ko sắp xếp
1/ hsg (hoặc khá) - ngồi với hs TB- Yếu
2/ học sinh bị cận thị ngồi từ bàn 1-3
3/ Chiều cao. Mình vẫn thấy sao vẫn 2 Hs giỏi và cao ngồi bàn đầu. Nhờ bạn xem lại giúp mình.
 
E cảm ơn ban CHAOQUAY rất nhiều ạ.
Anh ( chị) có thể giup e: e thấy kết quả ko sắp xếp
1/ hsg (hoặc khá) - ngồi với hs TB- Yếu
2/ học sinh bị cận thị ngồi từ bàn 1-3
3/ Chiều cao. Mình vẫn thấy sao vẫn 2 Hs giỏi và cao ngồi bàn đầu. Nhờ bạn xem lại giúp mình.
1./ Sơ đồ bài 1 của bạn là 2 dãy bàn, mỗi bàn 4 chỗ -> 1 bàn có 2 TB- & 2 khá+, cái này bạn kiểm tra lại kết quả. code này chỉ xếp TB- & khá+ cùng bàn mà chưa xét xếp xen kẽ.

2./ Bạn tìm dòng trên thay = dòng dưới là được.
Mã:
'k = (((Hl * 10 + Nguon(i, 6)) * 100 + Nguon(i, 5)) * 10 + Gt) * 100 + i
 k = (((Nguon(i, 6) * 100 + Hl) * 100 + Nguon(i, 5)) * 10 + Gt) * 100 + i

3./ Tiêu chí này có đưa vào code nhưng xem lại bài 1 thấy không đặt vấn đề về yếu tố này, có lẽ để sau đi bạn
 
1./ Sơ đồ bài 1 của bạn là 2 dãy bàn, mỗi bàn 4 chỗ -> 1 bàn có 2 TB- & 2 khá+, cái này bạn kiểm tra lại kết quả. code này chỉ xếp TB- & khá+ cùng bàn mà chưa xét xếp xen kẽ.

2./ Bạn tìm dòng trên thay = dòng dưới là được.
Mã:
'k = (((Hl * 10 + Nguon(i, 6)) * 100 + Nguon(i, 5)) * 10 + Gt) * 100 + i
 k = (((Nguon(i, 6) * 100 + Hl) * 100 + Nguon(i, 5)) * 10 + Gt) * 100 + i

3./ Tiêu chí này có đưa vào code nhưng xem lại bài 1 thấy không đặt vấn đề về yếu tố này, có lẽ để sau đi bạn
Chào anh ( chị ), em cần nhờ anh ( chị) tư vấn thêm một số vấn đề để hoàn thiện bài tập này. Anh ( chị) cho e xin số điện thoại để tiện trao đổi. cám ơn!
 
Bạn thay code trên = code dưới đây.
Mã:
Option Explicit

Sub Xepcho_()
Dim Nguon
Dim Thongke
Dim Nm0, Nm1, N0, N1, Hl 'Hl = hocluc
Dim Gt0, Gt1, Gt 'gioitinh
Dim Kq
Dim TgBan, Ban, Vt, Ten
Dim rws, cls
Dim i, j, k, t

With Sheet2
    Thongke = .Range("A2", .Range("A" & Rows.Count).End(xlUp))
    rws = UBound(Thongke)
    ReDim Nguon(1 To rws + 1, 1 To 7)
    Randomize
    For i = 1 To UBound(Thongke)
        k = Rnd() * 100 Mod rws + 1
        t = Thongke(k, 1)
        Thongke(k, 1) = Thongke(rws, 1)
        rws = rws - 1
        For j = 1 To 7
            Nguon(i + 1, j) = .Cells(t + 1, j).Value
        Next j
    Next i
End With
rws = UBound(Nguon)
cls = UBound(Nguon, 2)

ReDim Thongke(1 To rws - 1)
N0 = rws: N1 = rws: Nm0 = rws: Nm1 = rws
TgBan = rws \ 8 + 1
For i = 2 To rws
    If Nguon(i, 6) <> "" Then 'canthi
        Nguon(i, 6) = 1
    Else
        Nguon(i, 6) = 0
    End If
   
    Nguon(i, 5) = 100 - Mid(Nguon(i, 5) & 0, 3, 2) * 1 'chieucao
   
    If Nguon(i, 7) = "Kh" & ChrW(225) Or Nguon(i, 7) = "Gi" & ChrW(7887) & "i" Then 'hocluc
        If Nguon(i, 3) = 0 Then
            N0 = N0 - 1
            Hl = N0
        Else
            N1 = N1 - 1
            Hl = N1
        End If
    Else
        If Nguon(i, 3) = 0 Then
            Nm0 = Nm0 - 1
            Hl = Nm0
        Else
            Nm1 = Nm1 - 1
            Hl = Nm1
        End If
    End If
   
    If Nguon(i, 3) = 0 Then 'gioitinh
        Gt0 = Gt0 + 1
        Gt = Gt0
    Else
        Gt1 = Gt1 + 1
        Gt = Gt1
    End If
   
    k = (((Hl * 10 + Nguon(i, 6)) * 100 + Nguon(i, 5)) * 10 + Gt) * 100 + i
   
    Thongke(i - 1) = k
Next i
sortZA1D Thongke

ReDim Kq(1 To UBound(Nguon) \ 8 + 1, 1 To 9)
For i = 1 To rws - 1
    Ban = (i - 1) \ 8 + 1
    Ban = TgBan - Ban + 1
    Vt = (i - 1) Mod 8 + 1
    If Vt > 4 Then Vt = Vt + 1
   
    k = Thongke(i) Mod 100
    Ten = Nguon(k, 2) & "_" & Nguon(k, 3) & "_" & "1m" & 100 - Nguon(k, 5) & "_" & Nguon(k, 7)
    'Ten = Nguon(k, 2)
    Kq(Ban, Vt) = Ten
Next i
   
With Sheet3
    .UsedRange.Clear
    .Range("A6").Resize(UBound(Kq), UBound(Kq, 2)) = Kq
    .Range("A6").Resize(UBound(Kq), UBound(Kq, 2)).Borders.LineStyle = 1
    .UsedRange.ColumnWidth = 2
    .UsedRange.Columns.AutoFit
End With
End Sub

---
Về cán bộ lớp: Cả 2 code trên đều chưa có ưu tiên khi xếp chỗ. Có lẽ vị trí cán bộ lớp cần phải xếp = tay, sau đó sẽ sắp xếp cho các học sinh còn lại. Việc này bạn cân nhắc, nếu cần sẽ hiệu chỉnh
Code vô cùng hay ạ. Nhưng nếu số dãy bàn nó thay đổi thành 3 dãy chẳng hạn, số học sinh ngồi 1 dãy là 3, hoặc số dãy bàn là 2 nhưng số học sinh là 3 học sinh trên 1 bàn. vậy thay đổi điều này làm sao ạ. cảm ơn
 
Web KT

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

Back
Top Bottom