array aanmaken met ingegeven waardes
ik heb 2 arrays met de volgende waardes:
Code (php)
Wat ik nu eigenlijk wil dat een script alle mogelijk die er zijn in een array plaatst.
Dus bijvoorbeeld:
Code (php)
Als uitkomst zou ik dan graag zoiets willen maar dan met alle mogelijkheden die er zijn:
Array
(
[0] => 1-1-2-2-3-5-5-4-6-6-3-4
[1] => 1-4-4-6-3-2-5-5-2-1-6-3
[2] => 2-5-3-3-4-4-1-2-6-6-5-1
)
Sietsko
Gewijzigd op 20/11/2017 09:21:31 door Sietsko Bos
array_merge(), maar als je alle mogelijke combinaties wilt vinden, zul je iets gerichters moeten doen dan een willekeurige shuffle(): een dubbele foreach bijvoorbeeld.
Je kunt de arrays samenvoegen met Uit je voorbeeld lees ik meer iets van:
- kies uit beide setjes een willekeurige waarde
- streep deze waarden weg uit de mogelijkheden (unset)
- en "gooi" dan opnieuw
Zo lees ik althans je rijtjes (of het is wel heel toevallig dat in elke rijtje elk cijfers precies 2x voorkomt). Maar met echte dobbelstenen kun je nadat je 1-1 gegooid hebt natuurlijk prima nog een keer 1-1 gooien (de kans is niet zo groot - 1/36 om precies te zijn - maar het kan wel).
Rob Doemaarwat op 20/11/2017 13:01:26:
Gaat het hier om twee dobbelstenen (1 t/m 6 ogen), en wil je alle mogelijkheden die er zijn bij het gooien van twee dobbelstenen (6x6 = 36)?
Uit je voorbeeld lees ik meer iets van:
- kies uit beide setjes een willekeurige waarde
- streep deze waarden weg uit de mogelijkheden (unset)
- en "gooi" dan opnieuw
Zo lees ik althans je rijtjes (of het is wel heel toevallig dat in elke rijtje elk cijfers precies 2x voorkomt). Maar met echte dobbelstenen kun je nadat je 1-1 gegooid hebt natuurlijk prima nog een keer 1-1 gooien (de kans is niet zo groot - 1/36 om precies te zijn - maar het kan wel).
Uit je voorbeeld lees ik meer iets van:
- kies uit beide setjes een willekeurige waarde
- streep deze waarden weg uit de mogelijkheden (unset)
- en "gooi" dan opnieuw
Zo lees ik althans je rijtjes (of het is wel heel toevallig dat in elke rijtje elk cijfers precies 2x voorkomt). Maar met echte dobbelstenen kun je nadat je 1-1 gegooid hebt natuurlijk prima nog een keer 1-1 gooien (de kans is niet zo groot - 1/36 om precies te zijn - maar het kan wel).
Je hebt het ook bijna goed alleen is het niet met dobbelstenen. Het gaat erom dat elke gemaakte rij met getallen uniek is. Dit wil ik weer gebruiken om gedeeltes van woorden op de plaats van de cijfers van de klok. Zodoende kan je dan met de tijd een woord maken. In mijn voorbeeld deed ik het met zes cijfers maar het moet natuurlijk worden met de cijfers van 1 t/m 12.
Gewijzigd op 20/11/2017 14:06:23 door Sietsko Bos
En wat verwacht je dan: rijtjes van 24 cijfers waarbij elk cijfer (1 t/m 12) steeds precies 2x voorkomt?
Toevoeging op 20/11/2017 22:49:39:
Hm, volgens mij heb je dan 24! (faculteit) mogelijkheden, en dat zijn er dus 6,2*10^23 (grofweg een 6 met 23 nullen). Wat ga je daar mee doen? Waar ga je die opslaan (daar heb je een yottabyte harde schijf voor nodig)?
Je hebt een klok met de cijfers 1 t/m 12. De cijfers wil ik vervangen door een deel van een woord, bijvoorbeeld: trap = cijfer 2 wordt dan tr en cijfer 6 wordt ap. De gevraagde tijd kan dan zijn: half 2 of 10 over 6. Ik wil dan alle cijfers vervangen door 2 letters die bij elkaar horen aan de hand van de gevraagde tijd. Het gaat dus alleen om de hele uren die vervangen worden (ik dacht 12 x 12 = 144 mogelijkheden).
Misschien is het zo wat duidelijker wat de bedoeling is.
Sidenote: cijfers zijn getaltekens. Een getal kan opgebouwd zijn uit één of meer cijfers. 12 is dus geen cijfer maar een getal. Tenzij je wellicht hexadecimaal rekent, dan zou het cijfer A kunnen staan voor het getal 10.
@Sietsko: Als 2-6 hetzelfde is als 6-2 heb je 78 mogelijkheden (de onderste helft van de matrix valt als het ware weg). Je doet dus de dubbele foreach van Ward, met je rijtje van 12 woorden, maar degene waarbij het 2e getal < 1e getal sla je over.
Ah dank je voor de uitleg. Ik ga dit eens proberen en zien hoever ik kom. Dank je nogmaals voor het meedenken.