Advertisement
Guest User

Untitled

a guest
Dec 12th, 2017
97
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.57 KB | None | 0 0
  1. if (CL==2) {//если не символ алфавита
  2.             if  (s[i]!='\0'){ //если не символ конца строки 
  3.                 printf("%c %s",s[i], "Ошибка! (символ не входит в алфавит)\n" ); //вывод ошибки на консоль
  4.                 fprintf(f,"%c %s",s[i], "Ошибка! (символ не входит в алфавит)\n" ); //вывод ошибки в файл
  5.                 i++;//переход к следующему символу
  6.                 ST=0;//обнуляем состояние автомата
  7.             }   else ST=0;}//если символ конца строки, то обнуляем автомат, чтобы перейти к выводу printf("Строка достигла конца!\n");
  8.        
  9.         else { //если символ алфавита
  10.                 printf("%c[%d->",s[i],ST);//вывод "текущийсимвол[состояние,из которого пришли" на консоль
  11.                 fprintf(f,"%c[%d->",s[i],ST);//в файл
  12.                 ST=D[ST][CL];//переход по матрице состояний
  13.                 if (ST==1||ST==2){ //если ST=1,2
  14.                         printf("%d]\n",ST);//вывод "состояние, в которое пришли]
  15.                         fprintf (f,"%d]\n",ST);//в файл
  16.                         }  
  17.                    
  18.                 if (ST==(-1)){//если ошибка "лишний знак"
  19.                 printf("%d] %s\n", ST, "Ошибка! (лишний знак(цифра))");//вывод "состояние, в которое пришли] строка с ошибкой
  20.                 fprintf(f,"%d] %s\n", ST, "Ошибка! (лишний знак(цифра))");//в файл
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement