Thema Datum  Von Nutzer Rating
Antwort
15.07.2018 18:05:14 Daniel
NotSolved
16.07.2018 17:41:14 Mackie
NotSolved
17.07.2018 07:29:46 Daniel
NotSolved
17.07.2018 07:48:43 Mackie
NotSolved
17.07.2018 09:35:18 Gast43573
NotSolved
31.07.2018 09:40:51 Daniel
NotSolved
Rot Pemutation eines Vektors (Matrix) ohne Wiederholungen
03.08.2018 16:54:48 Daniel
NotSolved

Ansicht des Beitrags:
Von:
Daniel
Datum:
03.08.2018 16:54:48
Views:
498
Rating: Antwort:
  Ja
Thema:
Pemutation eines Vektors (Matrix) ohne Wiederholungen
Hallo zusammen, da ich leider bisher nicht weitergekommen bin, habe ich einen vereinfachten Codeschnipsel angefuegt. Ich übergebe die Matrix b mit einer beliebigen Anzahl an Stellen. In meiner Permutationsfunktion schreibe ich mir jeden Fall in die entsprechende Zelle. Das löschen von doppelten Fällen habe ich mit Absicht weggelassen um mein Problem zu verdeutlichen. Ich möchte nämlich am liebsten keine doppelten Fälle berechnen, sondern nur die voneinander unterschiedlichen Fälle.

Sub s_Faelle_erstellen(b)
    
    'Zahlen
    strVal1 = "=1"
    strVal2 = "=2"
    'Beliebig waehlbare max Anzahl an befuellten Eintraegen in Matrix
    A_NmaxVal = 3
    
    'Array überschreiben
    a = b
    'Array auf Null setzen
    For i = 0 To UBound(a)
        a(i) = 0
    Next
    'Matrizen erzeugen für alle Fälle
    For j = 0 To A_NmaxVal - 1
        'Für alle bisher vorhandenen Werte in der Matrix
        For l = 0 To j
            'Wert in Matrix ersetzen
            a(l) = strVal1
            'Permutation durchführen
            Call permutation(a, 0)
        Next
        For m = 0 To j
            'Wert in Matrix ersetzen
            a(m) = strVal2
            'Permutation durchführen
            Call permutation(a, 0)
        Next
        '_______________________________________
        'Finden und Löschen von doppelten Werten
'        s_Werte_zusammenfassen (a)
'        Call s_DoppelteZeilenLöschen(a)
'        Call s_LetzteSpalteLoeschen
        '_______________________________________
    Next
    
End Sub

Function permutation(ByVal a, k)
    If k = UBound(a) Then
        Zeile = Cells(65536, 1).End(xlUp).Row
        If Cells(1, 1) <> "" Then Zeile = Zeile + 1
        Range(Cells(Zeile, 1), Cells(Zeile, UBound(a) + 1)).FormulaArray = a
        Exit Function
    Else
        For i = k To UBound(a)
            x = a(i)
            a(i) = a(k)
            a(k) = x
            Call permutation(a, k + 1)
        Next
    End If
End Function

 


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
15.07.2018 18:05:14 Daniel
NotSolved
16.07.2018 17:41:14 Mackie
NotSolved
17.07.2018 07:29:46 Daniel
NotSolved
17.07.2018 07:48:43 Mackie
NotSolved
17.07.2018 09:35:18 Gast43573
NotSolved
31.07.2018 09:40:51 Daniel
NotSolved
Rot Pemutation eines Vektors (Matrix) ohne Wiederholungen
03.08.2018 16:54:48 Daniel
NotSolved