Round-robin tournament schedule: Difference between revisions

(Added Easylang)
imported>Thebeez
Line 1,285:
</pre>
 
=={{header|uBasic/4tH}}==
{{trans|FreeBASIC}}
<syntaxhighlight lang="ubasic-4th">
Print "Twelve teams"
Proc _Roundrob(12)
Print
Print "Nine teams with byes"
Proc _Roundrob(9)
 
End
' helper function to allow byes to be printed intelligently
 
_Nob
Param (3)
Local (1)
 
d@ = Iif (a@ > 9, " ", "")
If a@ = b@ * c@ Then Return (Join (d@, "B"))
Return (Iif (b@ < 10, Join(d@, Str(b@)), Str(b@)))
 
_Roundrob
Param (1)
Local (5)
 
b@ = 0
' if there is an odd number of competitors
If a@ % 2 = 1 Then b@ = 1 : a@ = a@ + 1
' make note of this fact and treat the tournament
For d@ = 1 To a@ ' as having one more competitor
@(d@) = d@ ' initial population of the array with numbers 1-n
Next
 
For c@ = 1 To a@-1
Print Using "Round __: ";c@;
For d@ = 1 To a@/2 ' print the pairings according to the scheme
' 1 2 3 4
' 5 6 7 8
Print "("; Show(FUNC(_Nob (a@, @(d@), b@)));" - ";
Print Show(FUNC(_Nob (a@, @(d@+a@/2), b@)));") ";
Next
Print
' now move positions 2-n around clockwise
e@ = @(a@/2) ' need to track two temporary variables
f@ = @(a@/2+1)
' top row
For d@ = a@/2 To 3 Step -1
@(d@) = @(d@-1)
Next
' bottom row
For d@ = a@/2+1 To a@-1
@(d@) = @(d@+1)
Next
 
@(a@) = e@ ' fill in the ones that "jumped" between rows
@(2) = f@
Next
Return
</syntaxhighlight>
=={{header|Wren}}==
{{libheader|Wren-fmt}}
Anonymous user