Strings Buchstaben vertauschen
-
Ja, genau - und daran siehst du, daß dies nicht die Aufgabe korrekt löst.
-
@Wade1234
wie baue ich dann die Ausgabe auf?
printf("%s", strreplace(string3, "en","x"), strreplace(string3,"x","en");funktioniert leider nicht..
-
@codinglea wenn du nur einmal %s schreibst, wird auch nur ein string ausgewertet.
printf("%s\n%s\n", strreplace(string3, "en", "x"), strreplace(string3, "x", "en"));
oder schöner (wegen eva-prinzip):
strreplace(string3, "en", "x"); printf("%s\n", string3); strreplace(string3, "x", "en"); printf("%s\n", string3);
-
@Wade1234
Die Varianten geben ja auch mehrere Ausgaben an, dies soll eigentlich vermieden werden, sodass es nur eine Textausgabe gibt.
-
@codinglea also wenn du nur das endergebnis haben willst, musst du entweder erst alle strreplace aufrufen, oder strreplace so umschreiben, dass die ganzen ersetzungen gleichzeitig ausgeführt werden.
-
@Wade1234
Hmm okay, ich gucke mal.
-
Ich habe es mal gerade ausprogrammiert - wer also spoilern will: Ideone-Code
Als Optimierungsaufgabe bleibt noch,
strlen(s+len_from)
innerhalb der Schleife zu eliminieren...
-
@codinglea sagte in Strings Buchstaben vertauschen:
@Wade1234
Die Varianten geben ja auch mehrere Ausgaben an, dies soll eigentlich vermieden werden, sodass es nur eine Textausgabe gibt.Es geht ja dabei erst mal nur darum, zu sehen, wie die Zwischenergebnisse aussehen, die zu dem falschen Endergebnis führen, um eine Idee bekommen zu können, was da falsch läuft!
-
@codinglea sagte in Strings Buchstaben vertauschen:
... Daher suche ich in diesem Forum Tipps. Ich möchte nichts vorgekaut bekommen, ich will gar nicht mal die Lösung. Mir reicht es, wenn jemand hilfsbereit ist und mir auf die Sprünge hilft.
Interessant ... trotzdem hast Du Wutzs Lösung einfach abgeschrieben - obwohl sie Dein spezielles Problem nicht mal löst
-
@Belli
Wenn es klappt und ich es verstehe, warum nicht?
-
@codinglea sagte in Strings Buchstaben vertauschen:
@Belli
Wenn es klappt und ich es verstehe, warum nicht?Dann wäre es ja gut.
Es klappt aber NICHT, und Du hast es nicht mal bemerkt, alle (bzw. viele) hier haben aber bei Wutz Lösung direkt gesehen, dass sie sich eignet, eine Umwandlung durchzuführen, Dein spezielles Problem (X --> EN und gleichzeitig EN --> X ) aber nicht löst.
Offensichtlich hast Du es daher NICHT verstanden, obwohl es entsprechende Hinweise im Thread gibt.
-
anzumerken wäre vielleicht auch noch, dass du memcpy zu übungszwecken selbst programmieren solltest.