Kombinatorik in VB, Kombinationen 3 aus N, N<20

Jul 02, 2004 6 Replies

Hallo Group!



Bekanntlich ist es recht einfach möglich die Anzahl aller möglichen



3-er Kombinationen aus der Gegebenen Anzahl N zu berechnen. (Kombinatorik)

Nun ist das was ich benötige nicht so einfach, zudem muss es in VB6 (Visual Basic) sein. Ich baruch eine Sub, ehenr Funktion die mit nicht nur die Anzahl aller Möglichen Kombinationen (_ohne_ Wiederholung und _ohne_ Beachtung der Reihenfolge) berechnet, sonder auch rausgibt welche das sind.



Der Reihe nach:



Eine Datenbank ist mit N Datensätzen gefüllt. Jeder der Datensätze unterscheiden sich voneinander über einen Kennwert (Autowert). Nun will ich eine Liste aller möglichen Kombinationen (_ohne_ Wiederholung und _ohne_ Beachtung der Reihenfolge), haben die beispielsweise so aussehen kann.



Kennwert1, Kennwert2, Kennwert3 ...... Kennwert7, Kennwert15, Kennwert42 ...... Kennwert48, Kennwert49, Kennwert50



bei N = 50. Wobei N wahrscheinlich nicht grösser als 20 sein wird.



Kann mir bitte jemand ein Paar Tipps geben, oder einen Hinweis auf eine evtl. bestehende und verfügbare Lösung.



Vielen Dank.


Hi,

zur Anzahl : anz = N! / ( 3! (N-3)! )

zur Ausgabe:

for (i=1..N) for(j=i+1..N) for(k=j+1..N) print( db[i], db[j], db[k]

Hallo, Christian,

Du (privat) meintest am 02.07.04:

Da Du das auch in de.sci.ing.elektronik verkündest: möchtest Du den Anschlusswert oder den Leitungsquerschnitt wissen?

Viele Grüße! Helmut

Ich glaube, er wollte es messen. Du brauchst also einfach 20 unterschiedliche Münzen (Euro-Münzen reichen, wenn du auch die Prägejahre benutzt) und dann kannst du messen. Wenn du was anderes vorhattest, bist du in de.sci.physik wohl genauso falsch wie in d.s.i.elektrotechnik.

Ich respektiere mal den Fup nach d.s.i.e, wurde ja auch zeit, dass wer einen gesetzt hat.

Thomas

Thomas Müller schrieb:

Und warum nicht nach schule.mathe ???

  1. Verwende DAO oder ADO zum Zugriff auf die Datenbank
  2. Benutze dann SQL. Die folgende Anweisung sollte helfen:

SELECT Tabelle1.Spalte1, Tabelle2.Spalte2, Tabelle3.Spalte3 FROM Tabelle1, Tabelle2, Tabelle3

Viel Spaß, Ralf.

Sorry: SELECT Tabelle1.Spalte1, Tabelle2.Spalte2, Tabelle3.Spalte3 FROM Tabelle1, Tabelle1 AS Tabelle2, Tabelle1 AS Tabelle3

Gruß, Ralf.

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required