Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- if (CL==2) {//если не символ алфавита
- if (s[i]!='\0'){ //если не символ конца строки
- printf("%c %s",s[i], "Ошибка! (символ не входит в алфавит)\n" ); //вывод ошибки на консоль
- fprintf(f,"%c %s",s[i], "Ошибка! (символ не входит в алфавит)\n" ); //вывод ошибки в файл
- i++;//переход к следующему символу
- ST=0;//обнуляем состояние автомата
- } else ST=0;}//если символ конца строки, то обнуляем автомат, чтобы перейти к выводу printf("Строка достигла конца!\n");
- else { //если символ алфавита
- printf("%c[%d->",s[i],ST);//вывод "текущийсимвол[состояние,из которого пришли" на консоль
- fprintf(f,"%c[%d->",s[i],ST);//в файл
- ST=D[ST][CL];//переход по матрице состояний
- if (ST==1||ST==2){ //если ST=1,2
- printf("%d]\n",ST);//вывод "состояние, в которое пришли]
- fprintf (f,"%d]\n",ST);//в файл
- }
- if (ST==(-1)){//если ошибка "лишний знак"
- printf("%d] %s\n", ST, "Ошибка! (лишний знак(цифра))");//вывод "состояние, в которое пришли] строка с ошибкой
- fprintf(f,"%d] %s\n", ST, "Ошибка! (лишний знак(цифра))");//в файл
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement