Info2/25.4.1.c

48 lines
1.3 KiB
C

#include <stdio.h>
#include <string.h>
void streichen(char *zeichKet, char streich) ///zeichKet: Text und streich: Zeichen, dass entfernt werden soll
{
int i = 0; ///i schaut sich jedes Zeichen an
int p = 0; ///p ist die Stelle an der wir schreiben, wenn es nicht gelöscht werden soll
while(zeichKet[i] != '\0') ///Solange der Text weitergeht, prüft man Zeichen für Zeichen weiter
{
if(zeichKet[i] != streich) ///Wenn das aktuelle Zeichen nicht gelöscht werden soll...
{
zeichKet[p] = zeichKet[i]; ///...schreiben wir es an p (neue Stelle des Zeichens)
p++; ///p wird hochgezählt
}
i++;
}
zeichKet[p] = '\0'; ///Ende des Textes
}
int main()
{
char zeichenkette[1001]; ///Index fängt bei 1 an deshalb 1001 und nicht 1000
char loeschen; ///Zeichen das gelöscht werden soll
printf("Geben Sie eine Zeichenkette (max. 1000 Zeichen) ein: \n");
scanf("%1000[^\n]s", zeichenkette);
printf("Geben Sie das zu loeschende Zeichen ein: \n");
scanf(" %c", &loeschen);
printf("...Die neue Zeichenkette ist dann: \n");
streichen(zeichenkette, loeschen); ///Aufruf der Funktion, die den Buchstaben rauswirft
printf("%s\n", zeichenkette);
return 0;
}