Program 247: Visit Morse Code encryption
The above can also be done using switch case but you need to write a total of 35 cases which is not a good practice.
//Coming Soon
Output:
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
main()
{
int i=0,j=0,k=0,flag=0;
char *alphamorse[]={".-","-...","-.-.","-..",".","..-.","--.","....","..",".---",
"-.-",".-..","--","-.","---",".--.","--.-",".-.","...","-","..-",
"...-",".--","-..-","-.--","--.."};
char *nummorse[]={"-----",".----","..---","...--","....-",".....","-....","--...","---..","----."};
char morseCode[1000]={0},substr[1000][100]={0},c;
printf("Enter a Morse Code with spaces\n");
gets(morseCode);
while(morseCode[k]!='\0')//for splitting sentence
{
j=0;
while(morseCode[k]!=' '&&morseCode[k]!='\0')
{
substr[i][j]=morseCode[k];
k++;
j++;
}
substr[i][j]='\0';
i++;
if(morseCode[k]!='\0')
{
k++;
}
}
int len=i;
for(i=0;i<len;i++)
{
for(j=0;j<25;j++)
{
if(!strcmp(alphamorse[j],substr[i]))//strcmp returns 0 if they are same
{
printf("%c",(j+65));
break;
}
}
for(j=0;j<9;j++)
{
if(!strcmp(nummorse[j],substr[i]))
{
printf("%d",j);
break;
}
}
}
printf("\n");
}
Explanation:The above can also be done using switch case but you need to write a total of 35 cases which is not a good practice.
//Coming Soon
Output:


