Hola, fijate si este ejemplo te ayuda en algo...
Imports System.Text
Public Class Form1
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim vCantidadEquipos As Integer = 5
Dim vTotalFechas As Integer = vCantidadEquipos - 1
Dim vPartidosPorFecha As Integer = vCantidadEquipos \ 2
Dim vFechas As String()() = New String(vTotalFechas - 1)() {}
For vFecha As Integer = 0 To vTotalFechas - 1
vFechas(vFecha) = New String(vPartidosPorFecha - 1) {}
Next
For vFecha As Integer = 0 To vTotalFechas - 1
For vPartido As Integer = 0 To vPartidosPorFecha - 1
Dim vLocal As Integer = (vFecha + vPartido) Mod (vCantidadEquipos - 1)
Dim vVisitante As Integer = (vCantidadEquipos - 1 - vPartido + vFecha) Mod (vCantidadEquipos - 1)
If vPartido = 0 Then
vVisitante = vCantidadEquipos - 1
End If
vFechas(vFecha)(vPartido) = (vLocal + 1) & " v " & (vVisitante + 1)
Next
Next
Dim vLista As New StringBuilder()
For i As Integer = 0 To vFechas.Length - 1
vLista.Length = 0
Debug.
WriteLine("Fecha: " & (i
+ 1)) Array.Sort(vFechas(i))
For outer As Integer = 0 To vPartidosPorFecha - 1
vLista.Append(vFechas(i)(outer) & ", ")
Next
vLista.Length = vLista.Length - 2
Debug.
WriteLine(vLista.
ToString()) Next
End Sub
End Class
saludos.