Problem 3 The ABRACADABRA language has just five lowercase l
Solution
program:
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
void main()
{
char ab_word[7];
char key[5];
char enc_word[7];
char key_value[]={\'a\',\'b\',\'c\',\'d\',\'r\'};
int i,j,key_count,a_count=0,b_count=0,c_count=0,d_count=0,r_count=0;
int flag=0;
clrscr();
printf(\"Enter key:\\t\");
gets(key);
for(i=0;i<5;i++)
{
flag=0;
if(key[i]==\' \')
{
printf(\"No space allowed in the key\");
getch();
exit(0);
}
if(a_count>1 || b_count >1 || c_count >1 ||d_count>1 || r_count>1)
{
printf(\"the key is not valid\");
exit(0);
}
for(j=0;j<5;j++)
{
if(key[i]==key_value[j])
{
flag=1;
if(key[i]==\'a\')
a_count+=1;
if(key[i]==\'b\')
b_count+=1;
if(key[i]==\'c\')
c_count+=1;
if(key[i]==\'d\')
d_count+=1;
if(key[i]==\'r\')
r_count+=1;
key_count+=1;
}
}
if(flag==0)
{
printf(\"the key is not valid\");
exit(0);
}
}
printf(\"Enter word:\\t\");
fgets(ab_word,sizeof(ab_word)+1,stdin);
for(i=0;i<7;i++)
{
flag=0;
for(j=0;j<5;j++)
{
if(ab_word[i]==key_value[j])
{
flag=1;
}
}
if(flag!=1)
{
printf(\"You did not speak in ABRACADABRA to me!\");
exit(0);
}
}
for(j=0;j<7;j++)
{
if(ab_word[j]==\'a\')
{
enc_word[j]=\'r\';
}
else if(ab_word[j]==\'r\')
{
enc_word[j]=\'a\';
}
else
{
enc_word[j]=ab_word[j];
}
}
printf(\"Encrypted word:\\t\");
for(j=0;j<7;j++)
printf(\"%c\",enc_word[j]);
getch();
}

