• 大小: 3KB
    文件类型: .cpp
    金币: 2
    下载: 0 次
    发布日期: 2024-01-25
  • 语言: C/C++
  • 标签:

资源简介

#include #include #include using std::cin; using std::cout; using std::endl; using std::string; using std::fstream; const int size=10; string gene[size],temp[size];

资源截图

代码片段和文件信息

#include
#include
#include
using std::cin;
using std::cout;
using std::endl;
using std::string;
using std::fstream;
const int size=10;
string gene[size]temp[size];
int main()
{
int i=0count=0;
cout<<“\t\t输入1表示直接输入文法\n\t\t输入2表示从文件输入!\n\t\t输入表示其他退出!“< cin>>i;
if(i==2)
{
  fstream fin(“C:\\Documents and Settings\\piao\\桌面\\test1\\s.txt“);
  i=0;
  while(fin>>gene[i])i++;
  count=i;
}
else if(i==1)
{
cout<<“请输入文法的行数:“< cin>>count;
cout<<“请输入文法:“< for(i=0;i cin>>gene[i];
}
else
return 0;
cout<<“原文法为:“< for(i=0;cout<
int j=0;

size_t start=0 end=0;
int count2=0;

for(i=0;i {

for(j=0;j {
start=2;

char qj=gene[j][0];


//修改每一条满足条件的产生式
bool rgt=false;

int count1=0;

string tt[size];

size_t s=0;

size_t e=0;
do
{
start++;

if(gene[i][start]==qj)//如果满足pi->qj*;
{


size_t es=gene[i].find_first_of(“|“start+1);

if(es==string::npos)

es=gene[i].length();

string te=gene[i].substr(start+1es-start-1);


if(!rgt)
{
s=gene[j].find_first_not_of(“|“3);

while(s!=string::npos)
{
e=gene[j].f

评论

共有 条评论

相关资源