#include <iostream>
#include <string>
using std::cout;
using std::string;
using std::cin;
using std::endl;
void K_O(string* , string); //这个函数
void pfdcp(string et, string pf[5][5] , int alp[3][26] , string nct[]); //解密函数
//ct即cleartext,pf即密码矩阵,alp即放了pf坐标的字母表
void pfecp(string ct, string pf[5][5] , int alp[3][26] , string eText[]); //加密函数
int main()
{
string key; //密钥
string cleartext; //明文
cout << "请输入密钥: " ;getline(cin, key);
cout << "请输入明文: " ;getline(cin, cleartext);
string ecptext = cleartext;
cout << "预设的密文: " << ecptext << endl;
// cout << key<<key.length() << endl;
string playfair[5][5] ; //密码矩阵
string another; //约定填充的字母
cout << "输入约定的填充字母: ";cin >> another;
string eText[cleartext.length()]; //
string cText[ecptext.length()];
//去重
int alp[3][26] = {
{0*26},{0*26},{0*26}};
int abLength=0;
for(int i=0 ; i<key.length() ; i++){
if(alp[0][((int)key[i]) - 97] == 0){ //应该用一个临时变量放这个强转
if(key[i] == 'i'||key[i] == 'j'){ //让i、j变得相同
alp[0][8]=alp[0][9]=1;
playfair[abLength/5][abLength%5] = key[i];
//添加alp在playfair里面的对应坐标
alp[1][8]=alp[1][9] = abLength/5;
a