---
title: "Lottning"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/48436-lottning"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "cyprys"
published: "2002-07-22T14:01:22.000Z"
updated: "2002-11-10T15:37:51.000Z"
replies: 13
views: 779
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/asp/48436-lottning"
---

# Lottning

## #1 — cyprys, 2002-07-22T14:01Z

Jag håller på och skapar ett lottningsprogram för ett antal lag men har kört fast. Som sista utväg så tänker jag sätta mig ner och skriva in alla matcher i sina respektive omgångar. För det är just där problemet ligger.

Jag har en array där alla lag ligger.
lagnamnen("lag1", "lag2", osv osv)

Med den har jag skapat ett koordinatsystem och på så sätt fått ut alla matcher som ska spelas. Där x \> y så att jag bara får ett möte mellan varje lag. x \< y ger alltså samma matcher fast annat hemmalag. Vid x=y möter man ju sig själv.

Mitt problem består sedan av att dela in alla matcher i omgångar.
Jag har gjort ett script som jag nu kommit fram till att det inte fungerar.

```
'[alla_matcher] är samtliga matcher i en array som ska spelas i den ordning att de är tagna från vänster till höger rakt av från koordinatsystemet.

for x = 0 to 20
	for y= 0 to ubound(alla_matcher)
		lag1 = left(alla_matcher(y), instr(alla_matcher(y), "]"))
		lag2 = right(alla_matcher(y), len(alla_matcher(y))-instrrev(alla_matcher(y), "[")--1 )

		if instr(tempmatch, lag1) = 0 AND instr(tempmatch, lag2) = 0 AND alla_matcher(y) <> ""  then
		schema(y, x) = alla_matcher(y)
		tempmatch = tempmatch & alla_matcher(y)
		alla_matcher(y) = ""
		end if
	
	next
tempmatch = ""
next
```

Problemet med denna är att om man har fler än 8 lag så kommer den plocka matcherna fel.
Första omgången kommer alltid bli rätt men sedan kommer alla matcher inte att kunna spelas.
Det blir:
1Omg: 1-2, 3-4, 5-6, 7-8, 9-10
2Omg: 1-3, 2-4, 5-7, 6-8, \[Men nian och tian har ju redan spelats\]

Så jag testade att varranan gång loopa genom \[alla_matcher\] bakifrån och varranan framifrån men det funkade inte heller. 

Det blir alltså en massa matcher över i slutet så det blir typ:
1Omg: 6 matcher
2Omg: 5 matcher
3Omg: 5 matcher
4Omg: 5 matcher
5Omg: 5 matcher
6Omg: 2 matcher \[Där matcherna är 9 eller 8 mot alla lag de inte mött\]
7Omg: 2 matcher \[Där matcherna är 9 eller 8 mot alla lag de inte mött\]

Jag har suttit med det här ett tag nu men tuggar på samma tråd hela tiden. Tänkte ifall någon kunde bidra med en frisk fläkt?

**Hur dela upp alla matcher i olika omgångar på bästa sätt så att samma lag inte spelar flera matcher i samma omgång?**
Jag är inte ute efter bara koden utan helst efter den idé som löser problemet. Kod eller idé. Helst ska det funka.  :) 

*Öppnar även en tråd i jobb och tjänster för saken skull.*

<http://www.webforum.nu/showthread.php?s=&threadid=47451>

Permalänk: https://www.webforum.nu/p/48436

## #2 — icaaq, 2002-07-22T14:32Z

Är det alltid ett fast antal lag eller varierar det?

Permalänk: https://www.webforum.nu/p/728317

## #3 — cyprys, 2002-07-22T15:09Z

Det varierar mellan 2, 4, 6, 8, 10 till 32 men ska likväl funka med alla jämna lag

Permalänk: https://www.webforum.nu/p/728350

## #4 — joser, 2002-07-22T15:24Z

Rent idémässigt, tänker absolut inte komma med nån kod.

Föreställ dig bilden av två lag, jämna respektive ojämna om du vill, som går på rad, eller i ring, och tackar varandra för en god match. ;)

Permalänk: https://www.webforum.nu/p/728359

## #5 — cyprys, 2002-07-22T15:35Z

vackert. Men efter att jag gjorde om det till kod stod det bara:
Logedans!?!

Permalänk: https://www.webforum.nu/p/728363

## #6 — Ekström, 2002-07-22T15:39Z

joser: Du är min idol nu

Permalänk: https://www.webforum.nu/p/728368

## #7 — joser, 2002-07-22T16:18Z

:e
Cyprus \> Ville få dig att fundera lite över koordinatsystemet.

Permalänk: https://www.webforum.nu/p/728392

## #8 — cyprys, 2002-07-22T16:20Z

Jo Jag har funderat över dem. De blir inte vackrare för det :)

Permalänk: https://www.webforum.nu/p/728394

## #9 — joser, 2002-07-22T16:30Z

Strunta i koordinater, se det som en tallinje som loopar och flyttas fram ett steg för varje omgång jämfört med ursprungsplatsen. Precis som en logdans med två ringar men bara den ena dansar.

Sen slumpar du vilket tal lagen ska ha.

Permalänk: https://www.webforum.nu/p/728398

## #10 — cyprys, 2002-07-22T16:34Z

PUSS  :e

Permalänk: https://www.webforum.nu/p/728401

## #11 — joser, 2002-07-22T16:53Z

Äsch.. :r

Permalänk: https://www.webforum.nu/p/728407

## #12 — andreas_lindh, 2002-11-10T14:02Z

Fick du igång lottningen?

Håller på med ett liknande program och vet inte riktgt hur jag ska lösa det.

Permalänk: https://www.webforum.nu/p/851510

## #13 — Eitraz, 2002-11-10T14:10Z

Vad kul.. ska fundera lite över det där.. återkommer ;)

hmm.. kommer fram till samma som du ungefär bara.. att det ibland blir "de två sista" som vill spela igen...
ska forska lite i det där alltså.

Permalänk: https://www.webforum.nu/p/851515

## #14 — Eitraz, 2002-11-10T15:37Z

Har nog kommit på ett sätt man kan göra på. Har bara ideén men har inte programmerat något.
Hittade ett trevligt mönster i hur man gör uppställningen.
Svårt o förklara det här.. men det gör jag ändå.

om man "ritar upp" en laguppställning på papper kan man få det här mönstret (fick det efter lite funderingar efter mönster i det hela)

1 - 2 \| 6 - 5 \| 4 - 3
1 - 3 \| 2 - 6 \| 5 - 4
1 - 4 \| 3 - 2 \| 6 - 5
1 - 5 \| 4 - 3 \| 2 - 6
1 - 6 \| 5 - 4 \| 3 - 2

titta på det där så ser man att från kollumn "2" och frammåt så tar man nedersta värdet, sätter det övers i nästa och sen bara "räknar på" bland lagnummren.
ex:
Kol2: 2-3-4-5-6
Kol3: 6-2-3-4-5
Kol4: 5-6-2-3-4

Tror ni ser det där.
Detta är ju smidigt för att göra upp en inte så slumpad laguppställning, men om man lagrar det här i en matris och sen slumpar alla platser (man får ju kolla så inte samma lag är två gånger på varje "rad") så får man ju en slumpad laguppställning :D

jippi ;)

ska se om man kan fixa nån helsmidig kod på det där (vilket jag tror man kan)

\-Eitraz

Permalänk: https://www.webforum.nu/p/851551

---

Tråden på webben: https://www.webforum.nu/amne/asp/48436-lottning
