Zliczanie ciągu znaków

0

Witam,

Mam problem z napisaniem następującego programu: "Napisz program, który odczytuje dane wejściowe aż do pojawienia się znaku #, a następnie wyświetla informację o ilości powtórzeń ciągu ot." Problem mam z samym zliczaniem ciągu znaków "ot" - w jaki sposób tego dokonać, aby program przechowywał wartość poprzedniego i bieżącego znaku? Poniżej mój kod (oczywiście błędny):

 #include <Stdio.h>
#define KONIEC '#'

int main(void)
{
    int ilosc = 0;

    char tekst;

    printf("Wpisz zdanie: ");

    while((tekst = getchar()) != KONIEC)
    {
        if(tekst == 'o')
            ilosc++;

     
    }
    printf("\nIlosc OT: %d\n", ilosc);
    return 0;
}

Z góry dziękuję za podpowiedź i pomoc.

0
char poprzedni=KONIEC;
while((tekst=getchar())!=KONIEC)
  {
   if(poprzedni!=KONIEC) // inaczej jeszcze nie mamy poprzedniego
     {
     }
   poprzedni=tekst
  }
0

Dziękuję za odpowiedź. Zapis jest dla mnie niezrozumiały. Mógłbym prosić o dodanie linii, zliczającej wystąpienie "ot"? Tak, bym mógł przeanalizować działanie dobrego programu.

0
char poprzedni=KONIEC;
while((tekst=getchar())!=KONIEC)
  {
   if(poprzedni!=KONIEC) // inaczej jeszcze nie mamy poprzedniego
     {
      // tu masz poprzedni oraz tekst które możesz sobie porównywać.
     }
   poprzedni=tekst
  }

1 użytkowników online, w tym zalogowanych: 0, gości: 1