資源簡介
#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++信號放大器+報告+源碼+運行程序
評論
共有 條評論