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 "<