1. und 2. Aufgabe lösen

Hallo

ich gehe zur Schule und soll diese beiden Aufgaben lösen ,nur ich weiß nicht genau wie das geht Bitte hilft mir.

Aufgaben

Aufgabe 1: Schreiben Sie eine Funktion:
void Loesch(char*s,char c),
die jedes vorkommende Zeichen c im String s löscht.
Beispiel: Loesch („C macht Spass“,‚a‘) müsste den String „C macht Spss“ ergeben.

Aufgabe 2: Schreiben Sie eine Funktion:
void Left(char*s,int n),
die den String s so verkürzt, dass er nur noch aus den ersten n Zeichen besteht.
Beispiel: Left(„Hallo“,2) müsste den String „Ha“ ergeben.

Hallo Harald,

sowas würde ich mit Regular Expressions machen. Ich weiß nicht, ob’s sowas auf Windows gibt.

Oder willst du das „zu Fuß“ machen?

Chris

Hallo Harald,

sowas würde ich mit Regular Expressions machen. Ich weiß
nicht, ob’s sowas auf Windows gibt.

Sicherlich kennt Windows reguläre Ausdrücke, die haben mit der Aufgabenstellung rein gar nicht zu tun. Reguläre Ausdrücke werden zum Vergleich benötigt, die Aufgabenstellung fordert hier aber eine Modifikation eines Strings.

=> Laß dich nicht irritieren!

Oder willst du das „zu Fuß“ machen?

Mach dir einfach mal klar, was eine Zeichenkette ist: ein ZUSAMMENhängendes Feld von Buchstaben, gefolgt von deim Zeichen ‚\0‘ (=0). Im Speicher des Computer sieht eine Zeichenkette „hallo“ wie folgt aus:

char* text = „hallo“;

hallo[0] = ‚h‘;
hallo[1] = ‚a‘;
hallo[2] = ‚l‘;
hallo[3] = ‚l‘;
hallo[4] = ‚o‘;
hallo[5] = ‚\0‘;

Wenn du beispielsweise den Buchstaben ‚a‘ entfernst, sieht das wie folgt aus

hallo[0] = ‚h‘;
hallo[1] = ‚l‘;
hallo[2] = ‚l‘;
hallo[3] = ‚o‘;
hallo[4] = ‚\0‘;

Mehr darf ich nun wirklich nicht sagen, sonst ist die Aufgabe bereits gelöst!

wortfuchs

Hi Markus,

Sicherlich kennt Windows reguläre Ausdrücke, die haben mit der
Aufgabenstellung rein gar nicht zu tun. Reguläre Ausdrücke
werden zum Vergleich benötigt, die Aufgabenstellung fordert
hier aber eine Modifikation eines Strings.

=> Laß dich nicht irritieren!

Geht schon! :wink: Aber ein wenig haben reguläre Ausdrücke schon damit zu tun: Erstmal gibt es ereg_replace(), mit dem man per regex-Matching ersetzen kann. Aber auch mit den normalen Standard-Funktionen geht das prima. Das hat vor allem den Vorteil, daß ich mir über das ganze Byte-Geschiebe keine Gedanken machen muß.

Oder willst du das „zu Fuß“ machen?

Mach dir einfach mal klar, was eine Zeichenkette ist: ein
ZUSAMMENhängendes Feld von Buchstaben, gefolgt von deim
Zeichen ‚\0‘ (=0). Im Speicher des Computer sieht eine
Zeichenkette „hallo“ wie folgt aus:

*snip*

*lach* Schon ok. Das eine oder andere Mal bin ich Strings schon begegnet. :wink:

Gruß, Chris

Mach dir einfach mal klar, was eine Zeichenkette ist: ein
ZUSAMMENhängendes Feld von Buchstaben, gefolgt von deim
Zeichen ‚\0‘ (=0). Im Speicher des Computer sieht eine
Zeichenkette „hallo“ wie folgt aus:

*snip*

*lach* Schon ok. Das eine oder andere Mal bin ich Strings
schon begegnet. :wink:

*grins* Habe mir schon gedacht, dass dir die Thematik nicht ganz unbekannt ist. Auch wenn ich direkt auf dein Posting geantwortet habe, so sollte diese Antwort den ursprünglichen Fragesteller adressieren. Die Fragestellung hört sich für mich nach einer Anfängerfrage an, da haben reguläre Ausdrücke erst einmal nichts zu tun. Hier geht es rein um das Verständnis!

Der Wortfuchs