Witam.
Mam problem w napisaniu programu. Przy wykorzystaniu funkcji STRTOK chcę:
- Z pliku wczytuję sobie tego typu wyrażenia:
pq#s
pqr#q
p#r
pwo#wz
I chcę by funkcja brała pierwsze dwa wyrażenia i rozróżniła stronę lewą i prawą np.:
- oddziela strony
pq#s --> lewa:pq prawa:s
pqr#q -->lewa:pqr prawa:q
- Bierze lewą stronę z pierwszego równania czyli pq i sprawdza czy, któraś z liter pojawi się po prawej stronie z drugiego równania i jeżeli taka litera istnieje to je kasuje i zapisuje:
(i odwrotnie też bierze prawą stronę pierwszego równania i sprawdza w kolejnym czy po lewej stronie istnieje ta sama litera jak tak to je kasuje)
p#s
pqr#
I robi tak długo gdy jedno z wyrażeń będzie samym # i wtedy zwraca true w w przeciwnym razie zwraca false.
Da się to w ogóle jakoś zrobić. Jestem początkujący dlatego proszę o wyrozumiałość. Nie umiem sobie poradzić z tym problemem dlatego będę wam bardzo wdzięczny za okazaną pomoc.
Funkcja:
#include <stdio.h>
#include <string.h>
int main ()
{
char str[] ="- This, a sample string.";
char * pch;
printf ("Splitting string \"%s\" into tokens:\n",str);
pch = strtok (str," ,.-");
while (pch != NULL)
{
printf ("%s\n",pch);
pch = strtok (NULL, " ,.-");
}
return 0;
}