Norbert: Alle möglichen kombinationen von 5 Arrays

Beitrag lesen

Hallo,

und dafür brauch ich halt ne Funktion, die in einer while Schleife so lange eine Möglichkeit nach der anderen testet, bis eine passende kombination aus allen 5 Arrays gefunden wurde.....

hmm,
schreibe es in PHP, geht mir leichter von der Hand:

<pre><hr><?  
$SET = array(  
    array('A'=>'Ford',   'B'=>'Notar',   'F'=>'gruen', 'M'=>'Beatles', 'O'=>'Berlin'),  
    array('A'=>'Ferrari','B'=>'Lehrer',  'F'=>'rot',   'M'=>'Madonna', 'O'=>'München'),  
    array('A'=>'BMW',    'B'=>'Metzger', 'F'=>'blau',  'M'=>'Heino',   'O'=>'Köln'));  
  
$ATS = array('Ferrari','VW','BMW','Smart','Ford');  
$BRF = array('Lehrer','Notar','Metzger','Schreiner','Baecker');  
$FRB = array('rot','silbern','blau','braun','gruen');  
$MSK = array('Madonna','Beatles','Heino','Eminem','Abba');  
$ORT = array('Hamburg','München','Köln','Berlin','Stuttgart');  
foreach($SET as $RUN) {  
    echo 'gesucht:  '.$RUN['A'].' | '.$RUN['B'].' | '.$RUN['F'].' | '.$RUN['M'].' | '.$RUN['O']."\n";  
    foreach($ATS as $auto) {  
        if ($RUN['A'] == $auto) { break; }  
    }  
    foreach($BRF as $beruf) {  
        if ($RUN['B'] == $beruf) { break; }  
    }  
    foreach($FRB as $farbe) {  
        if ($RUN['F'] == $farbe) { break; }  
    }  
    foreach($MSK as $musik) {  
        if ($RUN['M'] == $musik) { break; }  
    }  
    foreach($ORT as $stadt) {  
        if ($RUN['O'] == $stadt) { break; }  
    }  
    echo 'gefunden: '.$auto.' | '.$beruf.' | '.$farbe.' | '.$musik.' | '.$stadt."\n<hr>";  
}  
?></pre>

Code in eine Textdatei kopieren, test.php nennen und von einem Webserver aufrufen.

Im ersten Array stehen drei Variationen, die es zu erraten gilt.
Foreach durchwandert ein Array und beginnt immer mit dem ersten Element.

Es ist einfach, weil bekannt ist wo ein Auto stehen kann und wo ein Ort.
Das nach Java zu portieren kann jetzt kein Problem sein - oder ... ;-)

Gruss und Dank
Norbert