Programmieren - alles kontrollieren 4.934 Themen, 20.613 Beiträge

AnsiString Problem - Drei Chinesem mit dem Kontrabass

Selecta / 11 Antworten / Flachansicht Nickles

Hi, wir sollen ein Programm schreibem, das alle (a) e i o u in a\'s umwandelt. Etwa "Drei Chinesen" in "Dra Chanasan".

Mein Quelltext macht dies zwar, aber er bei mir kommt (was klar ist):
"Draa Chanasan" raus, also 2x a wegen "e" und "i". Nun habe ich mir überlegt wie ich diese Doppel-Buchstaben umgehe. Meine Idee seht ihr anhand der 2. IF Anweisung:

AnsiString Quelle="aeiou",
Ziel ="aaaaa";
int k;
AnsiString konv;
for (int i=1;i k=1;
int help;
help = i-1;
while(k k=k+1;
}
if(k KonvText.Delete(i,1);
KonvText.Insert(Ziel.SubString(k,1),i);
}
// BIS HIERHIN GEHT ES, ABER HALT MIT DEN DOPPELBUCHSTABEN

if(Ziel.SubString(k,1),help == Ziel.SubString(k,1),i) {
KonvText.Delete(i,1);
}
}

So aber ich merke gerade das das Müll ist, aber ich hab gerade echt keinen Schimmer. Meine Idee war halt, das ich vergleiche ob 2 gleiche Zeichen (dewegen i und help = i-1)) nebeneinader liegen und wenn JA dann das erste löschen. Aber so funktioniert das nicht. Bitte helft mir mir,

ICh bitte euch ausnahmsweise KEINE neuen Sachen einzubauen, denn ich versteh das eh nicht.

bei Antwort benachrichtigen
mr.escape DaWoo „Tatsache Bin wohl ein Pisa Opfer Oder-Nicht Verknüpfung cool, soweit war ich...“
Optionen
trotzdem wird im Durchgang 0 bei dir StrE[-1] geprüft
Aber nur wenn der compiler komplett defekt ist. Bei i==0 wird die bedingung nämlich schon erfüllt und damit findet die zweite prüfung nicht statt. Darum ist auch die reihenfolge wichtig.

mr.escape
"The man who trades freedom for security does not deserve nor will he ever receive either." - Benjamin Franklin"Wer seine Freiheit aufgibt, um Sicherheit zu erreichen, wird beides verlieren." - Georg Christoph Lichtenberg
bei Antwort benachrichtigen