+
+ void print_table()
+ {
+ cout<<"\nTRANSITION TABLE\n";
+ unsigned * len = new unsigned[cols];
+ len[0] = 1;
+ string line = "-|---|-";
+ for(unsigned i = 1; i<cols; i++)
+ {
+ len[i] = 0;
+ for(unsigned j = 0;j<rows;j++)
+ {
+ if(len[i]<table[j*cols+i].length()) len[i] = table[j*cols+i].length();
+ }
+ for(unsigned k = 0; k<len[i]; k++)
+ {
+ line.append("-");
+ }
+ line.append("-|-");
+ }
+ cout<<line<<"\n";
+ for(unsigned i = 0; i<rows; i++)
+ {
+ cout<<" | ";
+ for(unsigned j = 0;j<cols;j++)
+ {
+ cout.width(len[j]);
+ cout<<left<<table[i*cols+j]<<" | ";
+ }
+ cout<<"\n";
+ cout<<line<<"\n";
+ }
+ delete len;
+ }