Write a simple substitution code for an alphabetic string. That is, declare a permutation of the 26 alphabetic characters i.e. char perm[] = “qjczieaungsdfxmphybklortvw” Now, given a message string e.g. char msg[] = “secret message to encode”; Replace all occurrences of ‘a’ with ‘q’ (since perm[0]=’q’) Replace all occurrences of ‘b’ with ‘j’ (since perm[1]=’j’) … Replace all occurrences of ‘z’ with ‘w’ (since perm[25]=’w’) So that, the message is modified to “bicyik fibbqai km ixcmzi” This programme should only convert lowercase letters. Any input character that is not a lowercase letter should be left unchanged. A the key thing to figure out in this question is how to convert a character, e.g. 'a', in the input message into the correct index value for the perm[] array. For example: Input Result secret message to encode bicyik fibbqai km ixcmzi Secret Message to Encode Sicyik Mibbqai km Excmzi Code i was given: #include #define MAX_STR_LEN 256 int main(void) { /* keep the perm[] array fixed as it is here, though your program should work for any permutation array */ char perm[] = "qjczieaungsdfxmphybklortvw"; char msg[MAX_STR_LEN+1]; /* read the message from the terminal using fgets. The variable msg will contain the message. */ fgets(msg, MAX_STR_LEN, stdin); /* write your answer here */ return 0; }
Write a simple substitution code for an alphabetic string. That is, declare a permutation of the 26 alphabetic characters i.e.
char perm[] = “qjczieaungsdfxmphybklortvw”
Now, given a message string e.g.
char msg[] = “secret message to encode”;
Replace all occurrences of ‘a’ with ‘q’ (since perm[0]=’q’)
Replace all occurrences of ‘b’ with ‘j’ (since perm[1]=’j’)
…
Replace all occurrences of ‘z’ with ‘w’ (since perm[25]=’w’)
So that, the message is modified to
“bicyik fibbqai km ixcmzi”
This programme should only convert lowercase letters. Any input character that is not a lowercase letter should be left unchanged.
A the key thing to figure out in this question is how to convert a character, e.g. 'a', in the input message into the correct index value for the perm[] array.
For example:
Input | Result |
---|---|
secret message to encode | bicyik fibbqai km ixcmzi |
Secret Message to Encode | Sicyik Mibbqai km Excmzi |
Code i was given:
#include <stdio.h>
#define MAX_STR_LEN 256
int main(void)
{
/* keep the perm[] array fixed as it is here, though
your program should work for any permutation array */
char perm[] = "qjczieaungsdfxmphybklortvw";
char msg[MAX_STR_LEN+1];
/* read the message from the terminal using fgets. The variable msg will contain the message. */
fgets(msg, MAX_STR_LEN, stdin);
/* write your answer here */
return 0;
}
Step by step
Solved in 2 steps with 2 images