资源简介
#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
- 上一篇:C语言自动走迷宫程序代码
- 下一篇:C++信号放大器+报告+源码+运行程序
评论
共有 条评论