Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1144to1148
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Makro

Makro
alifa
Hallo Forum,
Irgendwie funktioniert dieses Makro nicht. Für Hilfe danke ich im Voraus, Alifa
Option Explicit

Sub Probe9()
Dim a As Variant, t As Single 'in 3491 Sek kein Resultat!!
t = Timer
a = Array(1, 2, 3, 4, 5, 6, 7, 8, 9)
Call Permutation(a, 0)
MsgBox "Fertig nach " & Round(Timer - t, 1) & " Sekunden"
End Sub


Function Permutation(ByVal a, k)
Dim i As Byte, x As Byte
If k = 9 Then
Call Auswerten(a)
Else
For i = 0 To 8
x = a(i)
a(i) = a(k)
a(k) = x
Call Permutation(a, k + 1)
Next
End If
End Function


Sub Auswerten(ByVal a)
Dim z%, c%
c = 15
If a(0) + a(1) + a(2) = c And _
a(3) + a(4) + a(5) = c And _
a(6) + a(7) + a(8) = c And _
a(0) + a(3) + a(6) = c And _
a(1) + a(4) + a(5) = c And _
a(2) + a(5) + a(8) = c Then
z = z + 1
Cells(1, 1) = a(0) & a(1) & a(2)
Cells(1, 2) = a(3) & a(4) & a(5)
Cells(1, 3) = a(6) & a(7) & a(8)
End If
End Sub

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Makro
12.03.2010 17:26:05
Reinhard
Hallo Alifa,
was soll das Makro machen? Kommt eine Fehlermeldung? In welcher Zeile?
Gruß
Reinhard
AW: Makro
12.03.2010 20:53:14
alifa
Hallo Reinhard,
das Makro soll etwas ganz einfaches berechnen. Das einfache Magische Quadrat mit 9 Zahlen. Die Lösung: 492; 357;816. Ich soll etwas Komplizierteres berechnen und habe die Aufgabe vereinfacht, um den Fehler zu finden. Das Makro läuft ca eine Stunde lang(Die MsgBox meldet "Fertig.....) Doch werden keine Ergebnisse ausgegeben.
Gruß, Alifa
Magisches Quadrat
13.03.2010 14:18:11
ChristianM
Hallo Alifa,
in deiner "Auswertung" stimmt die Zeile "a(1) + a(4) + a(5) = c" nicht.
Aber warum durchläufst du denn alle Permutationen um die Lösung zu finden?
Bei Wiki und anderen Seiten sind die Lösungswege doch aufgezeigt. Wenn du dies in Code umsetzt, bekommst du die Lösung innerhalb weniger Milisekunden.
Gruß
Christian
Anzeige
AW: Magisches Quadrat
13.03.2010 16:09:03
alifa
Ein Problem führte mich zu diesem: Mit den Zahlen 54,60,66,72,74,76,80,88,96 soll ein Magisches Dreier Quadrat gebildet werden. Die Konstante ist 222. Alle diese Daten stammen aus dem übergeordneten Problem. Das Makro hat jetzt die Lösung in 3526 Sekunden gefunden. Danke Dir!
AW: Magisches Quadrat
14.03.2010 08:35:35
ChristianM
Hallo Alifa,
dennoch ist es auch bei deiner Brute Force Methode nicht notwendig alle Varianten zu durchlaufen. Sinnvoller wäre es, nach der ersten gefundenen Lösung auszusteigen, anstatt dem PC noch 'ne Stunde beim Rechnen zu zuschauen....
Zitat Wikipedia:
Abgesehen von Symmetrieoperationen ... gibt es auch nur ein einziges magisches Quadrat mit Kantenlänge 3
Gruß
Christian
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige