www.pudn.com > zju_1000_1010.rar > 1009_SMH.CPP
#include#include class coder { public :void ini(int m,char a[]); void reini(); void rotate(); int codein(int out); int oneround(); int codeout(int in); private: int adjust; int map[26]; int mod; }; void coder::ini(int m, char a[]) { mod=m; int n; for (int i=0; i =0; map[i]=n; } adjust=0; } void coder::reini(){ adjust=0;} void coder::rotate() { adjust++; if (adjust==mod) adjust=0; } int coder::codeout(int in) //send out code file://A=0 { int pos, result; pos=in-adjust; if (pos<0) pos+=mod; result=map[pos]+in; if (result>=mod) result-=mod; return (result); } int coder::codein(int out) { for (int i=0; i >mod) { if (mod==0) break; if (t!=1) cout< >list; c[i].ini(mod, list); } cin>>total_time; cout<<"Enigma "<