Hallo zusammen,

ich möchte ein C-Programm schreiben, in der ein String durch scanf eingelesen wird.

In dem String ist eine Buchstabenkombination "ax", die durch "53" ersetzt werden soll. Die Kombination "ax" soll ersetzt werden, nicht aber "a" oder "x" oder "xa".

Ich habe da schon einmal etwas versucht. Jedoch lassen sich die Buchstaben ersetzen, aber willkürlich.

Ich bitte um Hilfe.

Hinweis: Ich darf keine C-Funktionen aus der Bibliothek string.h verwenden:

MfG

Julian Lindemeyer

char Einlesen[16];
char nachaxdurchsuchen[2] = "ax";
char durch53ersetzen[2] = "53";
int matrikelnummer = 742152;
char suchenundersetzen1;
char suchenundersetzen3;
char suchenundersetzen2;
char suchenundersetzen4;
int k, l;
  
printf("Bitte geben sie das Suchzeichen ein\n");
scanf("%s", nachaxdurchsuchen);

printf("Bitte geben sie das Ersatzzeichen ein\n");
scanf("%s", durch53ersetzen);

printf("Bitte geben sie den String ein, indem gesucht werden soll\n");
scanf("%s", Einlesen);

printf("%s\n", Einlesen);

suchenundersetzen1 = nachaxdurchsuchen[0];
suchenundersetzen2 = durch53ersetzen[0];
suchenundersetzen3 = nachaxdurchsuchen[1];
suchenundersetzen4 = durch53ersetzen[1];

int AnzahlderZeichenketteimString = 0;

while (Einlesen[AnzahlderZeichenketteimString] != '\0') {
  AnzahlderZeichenketteimString++;
}

int j, i;

for (i = 0; i < AnzahlderZeichenketteimString; i++) {
  if (Einlesen[i] == suchenundersetzen1) {
    Einlesen[i] = suchenundersetzen2;
  }

  for (j = 0; j < AnzahlderZeichenketteimString; j++) {
    if (Einlesen[j] == suchenundersetzen3) {
      Einlesen[j] = suchenundersetzen4;
    }
  }

  printf("%c%c", Einlesen[i], Einlesen[j]);
}