C-Sharp - Buchstaben-BruteForce mit 3 Zeichen
Folgendes Problem:
Ich hab einen 30 Zeichen langen String "oooooooooooooooooooooooooooooo" der als erstes Element in eine String-Liste wandert.
Der String wird dann weiterverarbeitet, das erste Zeichen zu einem 'a' verwandelt, zurückgegeben und dann wird dieser String in die Liste aufgenommen. Sanach soll aus dem 'a' ein 'l' werden und danach wieder ein 'o' und der 2. Buchstabe ein 'a'. Ein eigentlich recht simpler BruteForce eben.
hab zum debuggen die Ausgabe jeden Strings angeordnet. Allerdings kommt nur folgendes heraus:
das zeigt mir schon mal 2 Probleme.
1.: Die Iteration des BruteForce funktioniert nicht richtig.
2.: Ich befinde mich in einer Endlosschleife, da das Programm "end" anzeigen sollte, sobald ich durch bin.
Irgendwo habe ich einen herben Denkfehler im Code, aber ich komm einfach nicht darauf wo!
Hier mal der Code, markiert ist die Stelle der Endloschschleife nach ein paar Durchläufen
(Pastebin, da zu viel text für einen Forumsbeitrag ;))
Wo ist mein Fehler?
Ich bin ratlos...
Ich hab einen 30 Zeichen langen String "oooooooooooooooooooooooooooooo" der als erstes Element in eine String-Liste wandert.
Der String wird dann weiterverarbeitet, das erste Zeichen zu einem 'a' verwandelt, zurückgegeben und dann wird dieser String in die Liste aufgenommen. Sanach soll aus dem 'a' ein 'l' werden und danach wieder ein 'o' und der 2. Buchstabe ein 'a'. Ein eigentlich recht simpler BruteForce eben.
hab zum debuggen die Ausgabe jeden Strings angeordnet. Allerdings kommt nur folgendes heraus:
ooooooooooooooooooooooooooooooaoooooooooooooooooooooooooooooloooooooooooooooooooooooooooooaaoooooooooooooooooooooooooooollooooooooooooooooooooooooooooaaaaoooooooooooooooooooooooooollllooooooooooooooooooooooooooaaaaaaaaoooooooooooooooooooooollllllllooooooooooooooooooooooaaaaaaaaaaaaaaaaoooooooooooooo
das zeigt mir schon mal 2 Probleme.
1.: Die Iteration des BruteForce funktioniert nicht richtig.
2.: Ich befinde mich in einer Endlosschleife, da das Programm "end" anzeigen sollte, sobald ich durch bin.
Irgendwo habe ich einen herben Denkfehler im Code, aber ich komm einfach nicht darauf wo!
Hier mal der Code, markiert ist die Stelle der Endloschschleife nach ein paar Durchläufen
(Pastebin, da zu viel text für einen Forumsbeitrag ;))
Wo ist mein Fehler?
Ich bin ratlos...
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 121491
Url: https://administrator.de/contentid/121491
Ausgedruckt am: 21.11.2024 um 17:11 Uhr
3 Kommentare
Neuester Kommentar
Hi Snowman,
folg. Lösungsvorschlag ist jetzt mal PHP, macht aber nix,
PHP und C sind ja syntaktisch sehr ähnlich, müßte also
leicht portierbar sein.
Ergebnis:
oooooooooooooooooooooooooooooo
aooooooooooooooooooooooooooooo
iooooooooooooooooooooooooooooo
oaoooooooooooooooooooooooooooo
oioooooooooooooooooooooooooooo
ooaooooooooooooooooooooooooooo
ooiooooooooooooooooooooooooooo
oooaoooooooooooooooooooooooooo
oooioooooooooooooooooooooooooo
ooooaooooooooooooooooooooooooo
ooooiooooooooooooooooooooooooo
oooooaoooooooooooooooooooooooo
oooooioooooooooooooooooooooooo
ooooooaooooooooooooooooooooooo
... u.s.w.
Gruß
Günni
folg. Lösungsvorschlag ist jetzt mal PHP, macht aber nix,
PHP und C sind ja syntaktisch sehr ähnlich, müßte also
leicht portierbar sein.
<?php
/*
Ein Array mit den einzusetzenden Buchstaben
*/
$letters=array(0 => "a", 1 => "i");
/*
$string initialisieren ...
*/
$string="oooooooooooooooooooooooooooooo";
/*
... und als erstes Element in einem Array ablegen
*/
$string_array=$string;
/*
Erste for-Schleife kaspert $string Zeichen für Zeichen ab ...
*/
for($i=0;$i<strlen($string);$i++){
/*
... zweite for-Schleife setzt die Buchstaben aus dem Array $letters an
der Position in $string ein, die durch die erste for-Schleife
bestimmt wird ...
*/
for($j=0;$j<count($letters);$j++){
$string[$i]=$letters[$j];
/*
... der modifizierte String wird in dem Array abgelegt ...
*/
$string_array=$string;
/*
... anschl. wird $string neu initialisiert.
*/
$string="oooooooooooooooooooooooooooooo";
}
}
/*
Ausgabe der Strings
*/
foreach($string_array as $string){
echo $string."<br>";
}
?>
Ergebnis:
oooooooooooooooooooooooooooooo
aooooooooooooooooooooooooooooo
iooooooooooooooooooooooooooooo
oaoooooooooooooooooooooooooooo
oioooooooooooooooooooooooooooo
ooaooooooooooooooooooooooooooo
ooiooooooooooooooooooooooooooo
oooaoooooooooooooooooooooooooo
oooioooooooooooooooooooooooooo
ooooaooooooooooooooooooooooooo
ooooiooooooooooooooooooooooooo
oooooaoooooooooooooooooooooooo
oooooioooooooooooooooooooooooo
ooooooaooooooooooooooooooooooo
... u.s.w.
Gruß
Günni