int main(int argc, char** argv)
{
// retrieve the first argument passed to the program (action)
char action = argv[1][0];
// retrieve the second argument passed to the program (key)
char* key = argv[2];
// initialize character position in the key
int i = 0;
// initialize the current input character
int c = 0;
// loop until we reach the end of input
while (c != -1){
// get a character from stdin
c = getchar();
if (action == 'E'){
// encode the current character
putchar(c + key[i]);
} else{
// decode the current character
putchar(c - key[i]);
}
// increment the position in the key string, without overflow
i = (i + 1) % strlen(key);
}
}
function array_to_object($variable){if(is_array($variable)){$object =new StdClass();foreach($variableas$key=>$value){$object->$key=array_to_object($value);}return$object;}else{return$variable;}}
function object_to_array($variable){if(is_object($variable)){$array=array();foreach($variableas$key=>$value){$array[$key]= object_to_array($value);}return$array;}else{return$variable;}}