<mosaic.cnfolio.com>
PROGRAM
  1. void replace(char w1,char w2,char w3[],int count);
  2. void main()
  3. {
  4.    char cipher_key[16];
  5.    char plain_text[256];
  6.    int cipher_key_size,plain_text_size;
  7.    int i;
  8.    int N;                                                                  //For the position of the Target Value
  9.    char target_value;
  10.    char sub_value;
  11.    char empty;
  12.    
  13.    scanf("%d",&cipher_key_size);
  14.    if(cipher_key_size<2||cipher_key_size>16)                               //To Check the size of the Cipher key which must be in the limits of 2 and 16
  15.       {
  16.       printf("Cipher Key Size must be between 2 and 16\n");
  17.    }
  18.    
  19.    scanf("%s",cipher_key);
  20.    
  21.  
  22. /*   
  23.    if()                                                         //To check for characters other than small case alphabets
  24.    {
  25.       print("Cipher Key must contain small case alphabets i.e a-z");
  26.    }*/
  27.    
  28.    scanf("%d",&plain_text_size);
  29.    if(plain_text_size<4||plain_text_size>256)                              //To Check the size of the Plain Text which must be in the limits of 4 and 256
  30.    {
  31.       printf("Plain Text Size must be between 4 and 256\n");
  32.    }
  33.  
  34.    scanf("%s",plain_text);
  35.  
  36. /*
  37.    if()                                  //To match the size of the Plain Text and the Size given by user
  38.    {
  39.       print("Plain Text must contain small case alphabets i.e a-z");
  40.    }*/
  41.    
  42.    for(N=1;N<=cipher_key_size;N++)                                         //To change the Target Value
  43.    {
  44.       target_value=cipher_key[N-1];
  45.       if(N==cipher_key_size)                                              //Condition for the last character of the Cipher Key
  46.       {
  47.          sub_value=cipher_key[0];
  48.       }
  49.       else
  50.       {
  51.          sub_value=cipher_key[N];
  52.       }
  53.       printf("Step %d substitute %c with %c\n",N,target_value,sub_value);
  54.       replace(target_value,sub_value,plain_text,plain_text_size);                        //Function to Replace the Target value with the substitution value
  55.       
  56.       for (i=0;i<plain_text_size;i++)
  57.       {
  58.          printf("%c",plain_text[i]);
  59.       }
  60.       
  61.       printf("\n");
  62.    }
  63. }
  64. void replace(char w1,char w2,char w3[],int count)
  65. {
  66.    for(int i=0;i<count;i++)                                            //Loop for checking the each character of the Plain Text
  67.    {
  68.       if(w1==w3[i])                                              //Condition for checking whether the character is a target character or not
  69.       {
  70.          w3[i]=w2;
  71.       }
  72.    }
  73. }