Array to string voor game

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Top Low-Code Developer Gezocht!

Bedrijfsomschrijving Unieke Kansen, Uitstekende Arbeidsvoorwaarden & Inspirerend Team Wij zijn een toonaangevende, internationale organisatie die de toekomst van technologie vormgeeft door het creëren van innovatieve en baanbrekende oplossingen. Ons succes is gebaseerd op een hecht en gepassioneerd team van professionals die altijd streven naar het overtreffen van verwachtingen. Als jij deel wilt uitmaken van een dynamische, vooruitstrevende en inspirerende werkomgeving, dan is dit de perfecte kans voor jou! Functieomschrijving Als Low-Code Developer ben je een cruciaal onderdeel van ons team. Je werkt samen met collega's uit verschillende disciplines om geavanceerde applicaties te ontwikkelen en te optimaliseren met behulp van Low-code

Bekijk vacature »

Ventilatiesysteem Productontwikkelaar HBO WO Verwa

Samengevat: Zij bieden flexibele ventilatiematerialen, geluidsdempers, rookgasafvoer producten en industrieslangen. Ben jij een technisch productontwikkelaar? Heb jij ervaring met het ontwikkelen van nieuwe producten? Vaste baan: Technisch Productontwikkelaar HBO WO €3.000 - €4.000 Zij bieden een variëteit aan flexibele ventilatiematerialen, geluiddempers, rookgasafvoer producten, industrieslangen en ventilatieslangen voor de scheepsbouw. Met slimme en innovatieve materialen zorgen wij voor een gezonde en frisse leefomgeving. Deze werkgever is een organisatie die volop in ontwikkeling is met hardwerkende collega's. Dit geeft goede ontwikkelingsmogelijkheden. De branche van dit bedrijf is Techniek en Engineering. Functie: Voor de vacature als Technisch Productontwikkelaar Ede Gld HBO WO ga

Bekijk vacature »

Pagina: 1 2 volgende »

Joep

Joep

23/06/2009 09:58:00
Quote Anchor link
Hey mannen..
Op deze mooie morgen zit ik met een klein probleem. Ik dacht dat het allemaal heel makkelijk zou zijn, maar blijkbaar niet.

Ik heb een array, deze array kan alle lengtes hebben. En bestaat uit :
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?
array('x','y','z');
?>

Maar kan ook zijn :

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?
array('v','w','x','y','z');
?>


Ik heb nu alle string mogelijkheden nodig die zon array kan produceren in alle volgordes : Bij de eerste array zou dat dus zijn :

x,y,z | x,z,y | y,x,z | y,z,x | z,x,y | z,y,x

Ik heb al aardig wat for loopje sgeprobeerd, maar krijg hem steeds net niet te pakken :(
Enige idee ? Thanks alvast
Gewijzigd op 01/01/1970 01:00:00 door Joep
 
PHP hulp

PHP hulp

21/11/2024 20:40:59
 
Jacco Engel

Jacco Engel

23/06/2009 10:07:00
Quote Anchor link
Dr schiet mij maar 1 ding te binnen.

WAAROM?

En als je het voor vergelijken wil doen, 1 keer opslaan, imploden zonder spatie en http://nl3.php.net/eregi gaan leren
Gewijzigd op 01/01/1970 01:00:00 door Jacco Engel
 
Joep

Joep

23/06/2009 10:20:00
Quote Anchor link
Gelukkig zijn de meeste functies al redelijk bekend bij me en het is helaas ook niet voor vergelijken.
Het is voor een game voor kinderen, een rekengame.
Zij moeten eerst het aantal mogelijkheden raden (faculteit), dat is gelukkgi niet zo moeilijk te berekenen, daarna moeten ze alle mogelijkheden opschrijven.
Die check ik daarna dan tegen de oplossing van dit probleem ;)
 
Jacco Engel

Jacco Engel

23/06/2009 10:24:00
Quote Anchor link
okey ik geloof je , u lost me :P , (ondanks dat ik pro programmer ben (ik doe het voor mn werk , niet dat ik goed ben :P) ik heb niet zon verstand van wiskunde :)
 
Jurgen assaasas

Jurgen assaasas

23/06/2009 10:30:00
Quote Anchor link
Jacco schreef op 23.06.2009 10:24:
okey ik geloof je , u lost me :P , (ondanks dat ik pro programmer ben (ik doe het voor mn werk , niet dat ik goed ben :P) ik heb niet zon verstand van wiskunde :)


Jij zit zeker de hele dag alleen koffie te leuten en te forummen :p
 
Jacco Engel

Jacco Engel

23/06/2009 10:31:00
Quote Anchor link
Als jij vrolijk word van dat denken ;)
 
Joren de Wit

Joren de Wit

23/06/2009 10:36:00
Quote Anchor link
Een voorbeeldje:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
<?php
function faculteit($g) {
    switch($g) {
        case
1:
            return 1;
        case
$g > 1:
            return $g * faculteit($g-1);
        default:

            return false;
    }
}



$aLetters = array('w', 'x', 'y', 'z');
$aSolutions = array();

$iSolutions = faculteit(count($aLetters));

while(count($aSolutions) != $iSolutions) {
    shuffle($aLetters);
    $sSolution = implode('', $aLetters);
    
    if(!in_array($sSolution, $aSolutions)) {
        $aSolutions[] = $sSolution;
    }
}


sort($aSolutions);
echo '<pre>'.print_r($aSolutions, true).'</pre>';
?>
Gewijzigd op 01/01/1970 01:00:00 door Joren de Wit
 
Joep

Joep

23/06/2009 10:47:00
Quote Anchor link
Blanche, had je die op de plank liggen of zag je het gewoon meteen.
Wat een uiterst simpele oplossing en EXACT wat ik nodig heb. Ik ga weer aa de koffie. Ontzettend bedankt Blanche. De kids zullen het heel erg waarderen!

Greetz Joep
 
Michel W

Michel W

23/06/2009 10:51:00
Quote Anchor link
ook overnagedacht wat er gebeurt als je bijvoorbeeld ipv 4 letters er 100 in propt?
 
Jacco Engel

Jacco Engel

23/06/2009 10:52:00
Quote Anchor link
Blanche schreef op 23.06.2009 10:36:
Een voorbeeldje:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
<?php
function faculteit($g) {
    switch($g) {
        case
1:
            return 1;
        case
$g > 1:
            return $g * faculteit($g-1);
        default:

            return false;
    }
}



$aLetters = array('w', 'x', 'y', 'z');
$aSolutions = array();

$iSolutions = faculteit(count($aLetters));

while(count($aSolutions) != $iSolutions) {
    shuffle($aLetters);
    $sSolution = implode('', $aLetters);
    
    if(!in_array($sSolution, $aSolutions)) {
        $aSolutions[] = $sSolution;
    }
}


sort($aSolutions);
echo '<pre>'.print_r($aSolutions, true).'</pre>';
?>


o.O
 
Joep

Joep

23/06/2009 10:54:00
Quote Anchor link
Niet over nagedacht, de grootste array die ik heb is 6 zover ik nu weet.
Deze werkt gewoon..

Het vullen van de array tot 20 values was idd een probleem voor mijn execution time of 30 seconds ;)
 
Jacco Engel

Jacco Engel

23/06/2009 10:56:00
Quote Anchor link
Joep schreef op 23.06.2009 10:20:
Gelukkig zijn de meeste functies al redelijk bekend bij me en het is helaas ook niet voor vergelijken.
Het is voor een game voor kinderen, een rekengame.
Zij moeten eerst het aantal mogelijkheden raden (faculteit), dat is gelukkgi niet zo moeilijk te berekenen, daarna moeten ze alle mogelijkheden opschrijven.
Die check ik daarna dan tegen de oplossing van dit probleem ;)


@Dreampower -> Ja want kinderen gaan zulke grote aantallen gebruiken en dan alle mogelijkheden opschrijven :P
Gewijzigd op 01/01/1970 01:00:00 door Jacco Engel
 
Joep

Joep

23/06/2009 11:00:00
Quote Anchor link
Arme kinderen ;)

Maar voor de sake of php experts, ben ik wel benieuwd geworden naar een suitable oplossing zonder mijn execution time te halen..
Ik drink er nog eentje op...
 
RvW Of toch niet

RvW Of toch niet

23/06/2009 11:02:00
Quote Anchor link
Jacco schreef op 23.06.2009 10:52:

o.O

Jacco het had mijn reactie kunne zijn ik zat ook zo :P!
Blanche wat voor koffie drink jij ?
Gewijzigd op 01/01/1970 01:00:00 door RvW Of toch niet
 
Joren de Wit

Joren de Wit

23/06/2009 11:07:00
Quote Anchor link
Uiteraard is deze oplossing niet geschikt voor 10 of meer letters, maar dat lijkt me in deze applicatie ook niet echt gewenst. Mijn oplossing is gebaseerd op net zo lang je array door elkaar shuffelen totdat je alle oplossingen gevonden hebt, en voor kleine aantallen is dat best te doen.

En nee, ik had dit scriptje niet op de plank liggen. Maar dit scriptje is nu ook weer niet echt hogere wetenschap ofzo...
 
Jacco Engel

Jacco Engel

23/06/2009 11:08:00
Quote Anchor link
Dr lopen dat iig geen mooie vrouwen in de buurt :P

Bron:
http://www.nu.nl/gezondheid/1626286/kijken-naar-bikinis-maakt-mannen-dom.html
 
Jacco Engel

Jacco Engel

23/06/2009 11:08:00
Quote Anchor link
Quote:
Maar dit scriptje is nu ook weer niet echt hogere wetenschap ofzo...


Voor sommige mensen wel :P
 

23/06/2009 11:14:00
Quote Anchor link
Jacco schreef op 23.06.2009 11:08:
Quote:
Maar dit scriptje is nu ook weer niet echt hogere wetenschap ofzo...


Voor sommige mensen wel :P

Bwah, dat valt toch mee? Het is gewoon faculteit, dat staat op wiki. Dus als je 5 dingen hebt, doe je gewoon 5*4*3*2*1. Heel simpel. Nu weet je op hoeveel verschillende manieren iets kan oordenen.
Ik vraag me alleen af of die while wel klopt, maar zal vast wel kloppen door die if (iig geen dubbele).
Dit is nog maar simpele statistiek :-).
 
Joren de Wit

Joren de Wit

23/06/2009 11:47:00
Quote Anchor link
Karl schreef op 23.06.2009 11:14:
Ik vraag me alleen af of die while wel klopt, maar zal vast wel kloppen door die if (iig geen dubbele).
Die klopt inderdaad. De while loopt net zolang door totdat het aantal oplossingen in de oplossingen array gelijk is aan het berekende aantal oplossingen. En er worden alleen oplossingen aan de array toegevoegd als ze er nog niet in zitten, dus enkel unieke oplossingen in de array :)
 
Dennis Lassing

Dennis Lassing

23/06/2009 12:00:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
echo "Array combis<hr>";

$erin = array("a", "b", "c");

$eruit = array();
findCombis($erin, $eruit);

function findCombis($erin, &$eruit, $arrHave = array()) {
    $newCombis = array();
    foreach($erin as $index => $item) {
        $startArr[] = $item;
        $restant = $erin;    
        unset($restant[$index]);
        
        if ( count($restant) == 1 ) {
            // Einde bereikt
            $nHave = $arrHave;
            $nHave[] = $item;
            $nHave[] = array_pop($restant);
            $eruit[] = $nHave;
      } else {
          // Er zijn nog meer combi's
          findCombis($restant, $eruit, array_merge($arrHave,$startArr));
         $startArr = array();
      }
        
        
    }
    
    
}


echo "Result:<BR>";
echo "<PRE>".var_export($eruit,1)."</pRE>";
 
Nicoow Unknown

Nicoow Unknown

23/06/2009 12:41:00
Quote Anchor link
Netjes,
Alleen ben k niet z'n fan van recursieve functies in PHP, maar alsnog is het heel netjes gedaan.

Overigens krijg je al snel dit soort foutmeldingen door PHP met recursieve functies:
Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 35 bytes)

Deze error onstaat al na deze array:
array('a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i')
 

Pagina: 1 2 volgende »



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.