Cześć, mam problem z takimi o to zadaniem. Trzeba napisać program, który polega na tym, że mam napis, wyszukuję w nim danego znaku, a następnie usuwa dany znak i przesuwa pozostałą część napisu.
Np, "abcdefg", wyszukujemy 'c' i pozostaje nam "abdefg".

- Rejestracja:około 6 lat
- Ostatnio:około 6 lat
- Postów:1
0

szweszwe
No to teraz napisz z czym masz problem.

Kuba Lewandowski
Wiem, że muszę użyć strchr, aby przejść po napisie i do szukanego znaku, a następnie memcpy, ale za bardzo nie wiem, jak złożyć to w całość, żeby to zadziałało.
- Rejestracja:ponad 6 lat
- Ostatnio:ponad rok
1
Wiem, że muszę użyć strchr, aby przejść po napisie i do szukanego znaku, a następnie memcpy [...]
Nie musisz.
K&R2, sec. 2.8, p. 47:
/* squeeze: delete all c from s */
void squeeze(char s[], int c)
{
int i, j;
for (i = j = 0; s[i] != '\0'; i++)
if (s[i] != c)
s[j++] = s[i];
s[j] = '\0';
}
edytowany 1x, ostatnio: Mózg

Dziękuję bardzo. Czy w funkcji squeeze nie powinno być char c? Muszę szukać znaku.
- Rejestracja:ponad 7 lat
- Ostatnio:3 miesiące
- Postów:179
0
Witam.
Polecam zapoznać się z komendą find i erase.
Życzę miłego dnia wszystkim.
Zarejestruj się i dołącz do największej społeczności programistów w Polsce.
Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.