Mam do napisania w języku C następujące zadanie:
Na wejściu, w dwóch kolejnych wierszach, zadane są dwa łańcuchy znaków, każdy z nich o długości <64. Znajdź w pierwszym łańcuchu pierwsze wystąpienie pierwszego znaku drugiego łańcucha. Zmodyfikuj pierwszy łańcuch, przez doklejenie do początkowej jego części (poprzedzającej znaleziony znak) - części drugiego łańcucha: od pierwszego znaku poczynając, a kończąc na ostatnim wystąpieniu znaku identycznego z pierwszym znakiem drugiego łańcucha (włącznie z tym znakiem). W wypadku braku wystąpienia poszukiwanego znaku w ciągu (pierwszym lub drugim), należy wziąć pod uwagę cały łańcuch (pierwszy lub drugi). Rozwiąż zadanie przy użyciu biblioteki string.h. Wyprowadź na wyjście przekształcony pierwszy łańcuch. Przykład1: Dane: Konstantynopol statuetka Wynik: Konstatuetka Przykład2: Dane: sportsmenka szympansica Wynik: szympans Przykład3: Dane: zrozumienie mizoginizm zrozumizoginiz
Oto mój kod, który niestety nie do końca działa. Byłabym wdzięczna za pomoc. :)
void zad8()
{
char tekst1[64];
char tekst2[64];
char tekst[64];
char pom[64];
printf("Podaj pierwszy tekst:\n");
fgets(tekst1, sizeof(tekst1), stdin);
printf("Podaj drugi tekst:\n");
fgets(tekst2, sizeof(tekst2), stdin);
char x = tekst2[0];
int maks = 0;
for (int i = 0; i < sizeof(tekst2)/sizeof(char); i++)
{
if(tekst2[i] == x)
maks = i;
}
for (int i = 0; i <= maks; i++)
{
pom[i] = tekst2[i];
}
int j = 0;
int i = 0;
for (i = 0; tekst1[i] != x; i++)
{
tekst[i] = tekst1[i];
}
for (int j = 0; j <= maks; i++, j++)
{
tekst[i] = pom[j];
}
for (int i = 0; i < sizeof(tekst)/sizeof(char); i++)
{
printf("%c", tekst[i]);
}
}