Ich will in C++ einen Brut Force Code schreiben. Hab schon begonnen komm aber nicht weiter. Kann mir wer helfen?

...komplette Frage anzeigen

5 Antworten

Warum generierst Du nicht die Zeichen der Reihe nach, der Sortierfolge entsprechend?

Die Programmlogik ist bei jeder Programmiersprache gleich, nur die
Syntax ist anders. Ob C++ oder Java, der Lösungsweg ist gleich.

Du beginnst mit AAAAAAA und erhöhst das letzte Zeichen. Wenn Du damit durch bist, erhöhst Du das vorletzte Zeichen und wiederholst das Gleiche nochmal. Wenn Du damit durch bist, machst Gleiche mit der drittletzten Stelle und so fort, bis Du bei ZZZZZZZ bist.

AAAAAAA, AAAAAAB, AAAAAAC,,,,,AAAAAAX, AAAAAAY, AAAAAAZ,

AAAAABA, AAAAABB, AAAAABC,,,,,AAAAABX, AAAAABY, AAAAABZ,

AAAAACA,,,,AAAAACZ

.......

ZZZZZZA, ZZZZZZB, ZZZZZZC,,,,,ZZZZZZX, ZZZZZZY, ZZZZZZZ

Wundere Dich aber nicht, wenn das Programm dann lange braucht, bis es durch ist. das hängt von der Länge des zu bearbeitenden Feldes und der Anzahl der verwendeten Schriftzeichen ab (hier 7 z.B. Stellen mit 26 Schriftzeichen).

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von DM6835
03.03.2017, 15:40

Ich kann dir ja mal einen Link schicken wie ich es programmiert habe. Ich glaube es ist falsch wäre nett wenn du es ändern oder wenigstens die Fahler sagen könntest

0

Geschachtelte Schleifen oder - besonders, wenn die Zahl der Stellen nicht von vornherein feststeht - eine rekursive Methode.

Wenn es sehr viele Schachtelungen werden, geht es irgendwann nur noch iterativ (wegen Stapelüberlauf), das wird dann etwas komplizierter. Ist aber auch ohne Stapelüberlauf etwas schneller als Rekursion, wenn man's richtig macht.

Antwort bewerten Vielen Dank für Deine Bewertung

Letztendlich machst Du es genauso wie mit den einzelnen Zeichen - Du baust in die Schleife lediglich eine weitere Schleife ein.


für i = a bis z
für j = a bis z
Ausgabe = ij
:ende
:ende

Sorry, C++ kann ich nicht, daher diese "Umschreibung" - es geht ja ums Prinzip.

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von DM6835
02.03.2017, 18:13

Wenn man das so macht sind wir ja beim Ergebnis das beide Schleifen gleichzeitig ablaufen das heißt: AA BB

0
Kommentar von DM6835
03.03.2017, 15:13

Kannst du eine andere Programmiersprache versteh es so nicht

0

das thema brute force hat um einiges mehr tiefe, mit so einem system wie was du vorschlägst kommst du nicht weit.
Hier die groben basics:


Ich will auch nicht der a-rsch sein aber wenn du nicht einmal mit nested loops klarkommst bezweifle ich dass du nur halbwegs ordentlichen brute force code hinbekommst.

(Das video erklärt aber einiges über brute force algorythmen also definitiv gucken) 

Antwort bewerten Vielen Dank für Deine Bewertung

ich glaub ich würd das rekursiv machen... hast du da schonmal drüber nachgedacht?

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von DM6835
02.03.2017, 18:17

Wie rekursiv. Das heißt ja die Funktion ruft sich selbst auf oder? Das bringt ja nichts da wieder AA BB CC rauskommt

0

Was möchtest Du wissen?