ich muss ein programm schreiben, welches alle ae's oe's etc in ä's und ö's umformt ... dat problem dabei ist, es soll ohne string geschehen
ich habs soweit scho gemacht
C++:
int main( void ) { int a;
printf ("Satz eingeben:\n");
while ((a = getchar()) != EOF) {
if ( a = 'a') {a = '\xE4';}
putchar(a);
}
return0; }
jetzt ändert er alle a's in dat entsprechende sonderzeichen um, dies will ich jedoch nicht ich will dat jedes ae umgeformt wird .... jedoch komm ich einfach net weiter ....
würde mich freunen wenn mir jemand helfen würde
mfg
ugen
mod edit: BENUTZE CPP TAGS SELBERDieser Post wurde am 05.12.2006 um 23:05 Uhr von Pablo editiert.
Mit folgendem Algo müsstest du das leicht lösen können
1) Schreib den Satz in ein chararray 2) halte ein zweites chararray bereit (geht auch ohne ist aber einfacher) 3) gehe in einer schleife alle buchstaben durch. Handelt es sich um kein a,o oder u dann kopiere den buchstaben in das zweite array, sonst check ob der nachfolgende buchstabe ein e. Wenn nicht weiter kopieren, wenn ja nur ein sonderzeichen schreiben und weiter gehts (aufpassen musst du noch ob es überhaupt noch einen folgebuchstaben gibt falls du nach nem e checkst damit dir der speicher nicht um die ohren fliegt...) -- ...fleißig wie zwei Weißbrote
jaja dat problem damit ist dat ich auch kein arrays verwenden darf ... ich hab angefangen damit ... doch dann meinte der prof benutzt nur sachen die ihr in der vorlesung hattet und arrays und strings hatten wir noch net ... dat is ja dat problem
if((a2 = getchar()) != EOF) { if(a2 == 'e') { putchar('?'); //hier kommt das ö rein } else { putchar('o'); putchar(a2); } } else { putchar(a1); } }
//für ü elseif( a1 == 'u' ) { char a2;
if((a2 = getchar()) != EOF) { if(a2 == 'e') { putchar('?'); //hier kommt das ü rein } else { putchar('u'); putchar(a2); } } else { putchar(a1); } }
else { putchar(a1); } }
Die eingegebene Zeile wird wieder mit umgewandeltem ae oe und ue ausgegeben. Das funktioniert jedoch nicht, wenn nach a o oder u ein ae oe oder ue steht. Naja es gibt ja fast keine Worte die ein umlaut nach einem Vokal haben -- Wenn das Gehirn so einfach wäre, dass wir es verstehen könnten, wären wir so einfach, dass wir es nicht verstehen könnten. (Emerson Pugh Trost)
Da zweimal den selben switch zu benutzen ist evtl. etwas redundant, aber ich war grad zu faul, mir da was besseres auszudenken. -- Einfachheit ist Voraussetzung für Zuverlässigkeit. -- Edsger Wybe DijkstraDieser Post wurde am 06.12.2006 um 12:25 Uhr von 0xdeadbeef editiert.