⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 connect.cpp

📁 对给定的正规式r1、r2
💻 CPP
字号:
#include<iostream>
#include<fstream>
using namespace std;
//'&'代表空字
void connect()
{
	int head,rear,i=0,a,b;
	char middle,tail;
	//变量定义
	ifstream infile1("nfa1.txt",ios::in);
	if(!infile1)
	{
		cerr<<"open error nfa1!"<<endl;
		exit(1);
	}
	ifstream infile2("nfa2.txt",ios::in);
	if(!infile1)
	{
		cerr<<"open error nfa2!"<<endl;
		exit(1);
	}
	ofstream outfile("nfa.txt",ios::out);
	if(!outfile)
	{
		cerr<<"open error nfa!"<<endl;
		exit(1);
	}
	//文件的读与写,即将nfa1、nfa2写入输入文件流,将nfa与输出文件流关联
	outfile<<'x'<<'\t'<<"-9999"<<'\n'<<'z'<<'\t'<<"-9999"<<endl;
	infile1>>head;
	a=head;
	outfile<<'x'<<'\t'<<'&'<<'\t'<<a<<'#'<<endl;
	infile1>>head;
	infile1>>head;
	b=head;
	infile1>>head;
	do{
		infile1>>head>>middle>>rear>>tail;
		outfile<<head<<'\t'<<middle<<'\t'<<rear<<'#'<<endl;
	}
	while(tail!='@');
	outfile<<b<<'\t'<<'&'<<'\t'<<'y'<<'#'<<endl;

	infile2>>head;
	a=head;
	infile2>>head;
	infile2>>head;
	b=head;
	infile2>>head;
	outfile<<'y'<<'\t'<<'&'<<'\t'<<a<<'#'<<endl;
	do{
		infile2>>head>>middle>>rear>>tail;
		if(tail=='@')
		{
			outfile<<head<<'\t'<<middle<<'\t'<<rear<<'#'<<endl;
			outfile<<b<<'\t'<<'&'<<'\t'<<'z'<<'@'<<endl;
			break;
		}
		else
			outfile<<head<<'\t'<<middle<<'\t'<<rear<<'#'<<endl;
	}
	while(1);
	//正规式的连接与输出
	outfile.close();
	infile2.close();
	infile1.close();
	//关闭文件输入输出流
}

int main()
{
	connect();
	cout<<"连接运算成功!"<<endl;
	return 0;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -