Texter mit x: Maximum verschiedener Paarungen ermitteln.

Beitrag lesen

Nimm die erste Zahl für A und spiele die restlichen Zahlen auf den Folgepositionen durch. Nimm die zweite Zahl für A und spiele die restlichen Zahlen auf den Folgepositionen durch...

Durchspielen "sozusagen"?

Denken kann ich das, wie meine Liste vermuten lassen könnte. Was ich nicht kann ist, das in vernünftige Regeln umzusetzen.

Klingt sehr rekursiv, das ganze, denn für B ist es nicht anders: Nimm die erste Zahl (der restlichen Zahlen) für B und spiele die restlichen Zahlen auf den Folgepositionen durch.

Das ist doch nicht nur mit for-Schleifen zu machen, weil die Anzahl der nötigen for-Schleifen von der Menge der Elmente abhängen würde, oder?

Oder doch nicht?!
Durchgang erste for-Schleife A1, übrig bleibt:
B2, B3, B4, B5
C2, C3, C4, C5
Durchgang zweite for-Schleife B2, übrig bleibt:
C3, C4, C5 (wie addieren? mit dritter for-Schleife?)
Durchgang zweite for-Schleife B3, übrig bleibt:
C4, C5
Jedenfalls dann, wenn man mit den Zählern aus den for-Schleifen arbeitet. Es fehlt C2. Um das zu erfassen, müßte man die Schleife "wiederholen". Oder man zählt von vorn und "überspringt" wie Du es schriebst.

Die erste for-Schleife muß so oft durchlaufen werden, wie die kleinere Anzahl Elemente.
Darin muß die zweite for-Schleife so oft durchlaufen werden, wie die größere Anzahl Elemente - 1.
Die dritte for-Schleife muß so oft durchlaufen werden, wie die größere Anzahl Elemente. Dabei müssen die "Position" ausgelassen werden, in der sich die erste und zweite for-Schleife gerade befindet. Effektiv also "größere Anzahl Elemente - 2" Durchgänge.

Ich werde mich noch daran versuchen aber jetzt gehe ich schlafen.
Ich habe es mir anders überlegt.

  
$summen = array();  
for ($z1 = $count_1; $z1 >= 0; $z1--) {  
  for ($z2 = $count_2 - 1; $z2 >= 0; $z2--) {  
    $zw_2 = $zw_ergebnis[$z1][$count_1] + $zw_ergebnis[$z1][$z2];  
    for ($z3 = $count_2; $z3 >= 0; $z3--) {  
      if (($z3 != $z1) AND ($z3 != $z2)) {  
        $summen[] = $zw_2 + $zw_ergebnis[$z3][$z2];  
      }  
    }  
  }  
}  
$max = max($summen);  

So in etwa, fehlerbehaftet, wobei per Definition die erste Gruppe die kleinere oder gleichgroße ist. Aber jetzt gehe ich schlafen, um die korrekten Indizes kümmere ich mich morgen.