/* Analise Byrne machine by Michael J. Cowan, 27 July 2009. */ #include #include #include #include #include #include char alpha[6000][26],beta[6000][26],plain[6000],code[6000]; char buffer[26]; int j,k,m,n,p,q,t,x,y,z; int len,flag,nr,move,goback; int ptr[6000]; int index[4] = {1,2,4}; void get_plain(void); void get_code(void); void go_back(void); main() { len=19; get_plain(); get_code(); strcpy(alpha[-1],".........................."); //disk 1 strcpy(beta[-1], ".........................."); //disk 2 nr=-1; for(m=0;m25) x-=26; buffer[m]=alpha[nr][x]; } for(m=0;m<26;m++) alpha[nr][m]=buffer[m]; goback=0; } } else //......bad fit...... goback=1; while(goback==1) go_back(); cout<<"disk 1 at finish ";for(m=0;m<26;m++) cout<25) x-=26; buffer[m]=alpha[nr][x]; } for(m=0;m<26;m++) alpha[nr][m]=buffer[m]; } } //............................................................ void get_plain(void) { // ifstream infile ("ex1pt_trunc.txt"); ifstream infile ("C:\\Develop Work\\chaocipher\\ex1pt.txt"); if (!infile) return ; cout << " Getting plain from file...." << endl; for(j=0;j>plain[j];; if(plain[j]<'A' || plain[j]>'Z') break; } infile.close(); } //.............................................. void get_code(void) { // ifstream infile ("ex1pt_trunc.txt"); ifstream infile ("C:\\Develop Work\\chaocipher\\ex1ct.txt"); if (!infile) return ; cout << " Getting cipher from file...." << endl; for(j=0;j>code[j];; if(plain[j]<'A' || plain[j]>'Z') break; } infile.close(); } //...............................