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

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.

Reply to
CADinal
Loading thread data ...

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]

Reply to
Christian Hahn

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

Reply to
Helmut Hullen

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

Reply to
Thomas Müller

Thomas Müller schrieb:

Und warum nicht nach schule.mathe ???

Reply to
Michael Redmann

  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.

Reply to
Ralf Pfeifer

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

Gruß, Ralf.

Reply to
Ralf Pfeifer

PolyTech Forum website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.