Zeichenketten
-
Ich bin ein Anfänger in C++ und möchte ein Programm schreiben mit dem ich eine Zeichenkette einlesen und dann immer die benachtbarten Buchstaben vertausche. Also den 1. mit dem 2. den 3. mit dem 4. usw.
Ich lese eine Zeichenkette ein. Das hab ich eh schon.
Jetzt hab ich das mit einer for Scheife gemacht und mit einer zusätzlichen Variable, in der das 1. Zeichen gespeichert wird. Und dann verändere ich das 1. Zeichen und gebe ihm den Wert des 2. Zeichens. Das funktioniert auch, aber nur beim 1. Durchlauf ( wenn ich bei jedem Durchlauf die beiden Zeichen ausgebe).Der Code der Schleife sieht so aus:
for (i;i<5;i++) {
a=kette[i];
kette[i]=kette[i+1];
kette[i+1]=a;
cout << kette[i] << kette[i+1];
}Beim 1. mal gibt er das richtige aus, aber danach stimmt die Ausgabe nicht mehr.
Könnte mir da bitte jemand helfen.
-
Na wenn Du immer zwei Zeichen vertauschst mußt Du auch in Zweierschritten durch die Schleife. Und absichern, falls eine ungerade Zahl an Zeichen in der Kette sind.
-
Ja danke jetzt funktionierts, blöder Fehler. An das hab ich gar nicht gedacht. Danke. Und noch eine Frage wie kann ich mich absichern ob die Eingabe gerade ist oder ob sie ungerade ist. Mit einer if Bedingung vielleicht?
Vielen Dank im Voraus.
-
Die Länge der Kette mod 2 muß 0 ergeben. Aber versuche sowas selber rauszukriegen.