//~ Question 1 //~ This is a simple cryptography problem. Given a string only in the upper case , we encode it in this way : we replace each letter by a letter that is at a fixed distance ahead or behind //~ in the alphabetical order. The alphabet is asumed to wrap around (that is 'A' follows 'Z ' ). Similarly we can decode an encoded string. Define a class called Crypto which has an instance variable //~ char s[] and a method encodeDecode which is described below. Define a constructor if u want. //~ char encodeDecode(int move)- replaces each character in 's' by the character which is at a distance of 'move' ahead , if move is positve and if move is //~ -ve then replace the char in the array 's' as the char at'move' distance behind. if move is 0 print the code as it is. //~ eg : s= "ABCXY" , encodeDecode(2) returns "CDEZAB". //~ s= "ABCDE" , encodeDecode(-3) returns "XYZAB". //~ my program: #include #include #include class Crypto { int n; char s[30]; int move; int arr[30]; //initializing everything Crypto() { move=0; for(int i=0;i<30;i++) { arr[i]=0; strcpy(s[i]," "); } n=0; } void enterstring() { //entry of string cout<<"Please enter the code."; cin>>s; //making sure that the string is Capital for(int n=0;n<30;n++) { s[i]=(toupper(s[i])); } } char encodeDecode (int move) { //to put all the ascii values of the string entered in our self defined array arr. for(int i=0;i<30;i++) { arr[i]=int(s[i]); } //status : Done if(move>0) //Condition chek 1 { for(int j=0;j<30;j++) { strcpy(s[i],(char(arr[i+move]))); } for(int p=0;p<30;p++) return s[p]; } if(move<0) { for(int j=0;j<30;j++) { strcpy(s[j],(char(arr[j+move]))); } for(int p=0;p<30;p++) return s[p]; } if(move=0) { for(int y=0;y<30;y++) { cout<