Witam
Mam za zadanie zrobić automat deterministyczny w C lub C++. Mam zaczętą klasę ale utknąłem ponieważ nie mogę znaleźć żadnego prostego przykładu, a nie mam pojęcia jak zdefiniować metody [???]
Chciałbym wykorzystać listy dwukierunkowe.
tu kod tego co mam:
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include<iostream.h>
#include<conio.h>
//---------------------------------------------------------------------------
#pragma argsused
/* napis
zmienna stan_biezacy=poczatkowy
while napis jest niepusty
c= utnij pierwszy znak z s
podaj przejscie od stan_biezacy po znaku 'c'
if nie ma takiego przejscia return false
else stan_bbiezacy=stan docelowy tego przejscia
return stan_biezacy= stan koncowy
*/
class Automat{
private:
int stan_poczatkowy;
int stan_koncowy;
public:
void dodaj_Stan(int nr);
void dodaj_Przejscie(int od_nr,int do_nr,char sybol);
void ustaw_start(int nr){
stan_poczatkowy=nr;
}
void ustaw_koniec(int nr){
stan_koncowy=nr;
}
int podaj_start() const;
int podaj_koniec() const;
int ile_stanow() const;
int ile_przejsc() const;
char podaj_Przejscia(int od_nr,int do_nr) const;
bool czy_akceptowanyh(char *napis) const;
};
int main(int argc, char* argv[])
{
Automat *tekst;
tekst->dodaj_Stan(1);
tekst->dodaj_Stan(2);
tekst->dodaj_Stan(3);
tekst->dodaj_Stan(4);
tekst->dodaj_Przejscie(1,2,'a');
tekst->dodaj_Przejscie(2,3,'b');
tekst->dodaj_Przejscie(3,4,'c');
tekst->dodaj_Przejscie(3,4,'a');
tekst->dodaj_Przejscie(4,2,'d');
tekst->ustaw_start(1);
tekst->ustaw_koniec(4);
getch();
return 0;
}
//---------------------------------------------------------------------------
Z góry dzięki za pomoc.
Pozdrawiam