Buchempfehlung
Mikrocomputertechnik mit Controllern der Atmel AVR-RISC-Familie
Mikrocomputertechnik mit Controllern der Atmel AVR-RISC-Familie
Umfassend, aber leicht verständlich führt dieses Buch in die Programmierung von ATMEL AVR Mikrocontrollern ein. [Mehr Infos...]
FreeBASIC-Chat
Es sind Benutzer im FreeBASIC-Chat online.
(Stand:  )
FreeBASIC bei Twitter
Twitter FreeBASIC-Nachrichten jetzt auch über Twitter erhalten. Follow us!

fb:porticula NoPaste

Info
Info / Hilfe
Liste
Übersicht / Liste
Neu
Datei hochladen
Suche
Quellcode suchen
Download
Dateidownload

Algorithmus Rundensystem

Uploader:MitgliedALWIM
Datum/Zeit:06.06.2012 22:08:30
Hinweis: Dieser Quelltext ist Bestandteil des Projekts Schachturnierorganisationsprogramm, zu dem es auf FreeBASIC-Portal.de eine Projektseite gibt.

dim shared as integer spieler,runden,ppr,startwert
redim shared as integer paarungen(1 to 1, 1 to 2)

declare sub ErstellePaarungen (runde as integer)

input "Anzahl Spieler:",spieler
if spieler<3 then end

if spieler/2 <> int(spieler/2) then spieler +=1' wenn ungerade um eins erhöhen

runden=spieler-1
ppr=spieler/2 'Partien pro Runde

redim paarungen(1 to ppr, 1 to 2)

startwert=1
for r as integer=1 to runden

  ErstellePaarungen (r)
  print "R" & r & ": ";
  for i as integer=1 to ppr
    print paarungen(i,1) & "-" & paarungen(i,2) &" ";
  next i
  print
  startwert=paarungen(ppr,2)
next r

sleep
end

sub ErstellePaarungen (runde as integer)
  dim as integer rotation
  rotation=startwert
  for i as integer=1 to ppr
    paarungen(i,1)=rotation
    rotation +=1
    if rotation>runden then rotation=1
  next i
  for i as integer=ppr to 2 step -1
    paarungen(i,2)=rotation
    rotation +=1
    if rotation>runden then rotation=1
  next i
  paarungen(1,2)=spieler

  if runde/2 = int(runde/2) then swap paarungen(1,1),paarungen(1,2)' bei jeder geraden Runde erstes Paar tauschen
end sub