# GOC 102 "Crime Investigation" - Editorial

EASY-MEDIUM

### PROBLEM:

Crime Scene: Two undercover ATS officer investigating bomb explosion case & its terror link in Mumbai and they both were found murdered .They were about to solve the case and collect evidences against a business man for funding the terror activities. There was a complete mistrust among the Detective Inspector Daya Nayak and his team as someone was leaking the information. Department of Home Affairs decided to appoint Mr.Sherlock to help Mr. Daya solve the case but warned not to trust anyone. Mr. Sherlock was assisted by Dr.Watson. They both want a mechanism to communicate with each other keep communication hidden from others. The mechanism say that you should reverse each character of the word and then replace each character to the right by 3.

### EXPLANATION:

Example:
Input : i love india
i evol aidni
Output: l#hyro#dlgql

### AUTHORâ€™S AND TESTERâ€™S SOLUTIONS:

``````
#include<stdio.h>
/*Function to reverse any sequence starting with pointer begin and ending with pointer end */
void reverse(char *begin, char *end)
{
char temp;
while (begin < end)
{
temp = *begin;
*begin++ = *end;
*end-- = temp;
}
}
void encode(char *s)
{
while(*s)
{
// printf("B-->%c   ",*s);
*s=*s+3;
// printf("A-->%c \n",*s);
s++;
}
}

void reverseWords(char *s)
{
char *word_begin = NULL;
char *temp = s; /* temp is for word boundry */

/*STEP 1 of the above algorithm */
while( *temp )
{
valid character (not space) only*/
if (( word_begin == NULL ) && (*temp != ' ') )
{
word_begin=temp;
}
if(word_begin && ((*(temp+1) == ' ') || (*(temp+1) == '\0')))
{
reverse(word_begin, temp);
word_begin = NULL;
}
temp++;
} /* End of while */

}

/* Driver function to test above functions */
int main()
{
char s[100]; // = "i like this program very much";
fgets(s,100,stdin);
//printf("%s\n", s);

reverseWords(s);
encode(s);
printf("%s\n", s);
getchar();
return 0;
}

``````
//