zadanie ze stringiem

zadanie ze stringiem
Kuba Lewandowski
  • Rejestracja:około 6 lat
  • Ostatnio:około 6 lat
  • Postów:1
0

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".

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:

Kopiuj
/* 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
Kuba Lewandowski
Dziękuję bardzo. Czy w funkcji squeeze nie powinno być char c? Muszę szukać znaku.
P1
  • 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.

MarekR22
1. C a nie C++ 2. komendy masz w terminalu (np bash) albo w skryptach, w C/C++ i innych językach programowania są funkcje/metody (procedury jak ktoś używa Pascal).
P1
Sorka nie zauważyłem że dotyczy języka C i dziękuje za tą uwagę na przyszłość będę pamiętać :)

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.