Program 223:
Pre explanation of logic:-
//Coming Soon
Output: Should consider even Spaces
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
main()
{
int i,j,k,len,rails,count,code[100][1000];
char str[1000];
printf("Enter a Secret Message\n");
gets(str);
len=strlen(str);
printf("Enter number of rails\n");
scanf("%d",&rails);
for(i=0;i<rails;i++)
{
for(j=0;j<len;j++)
{
code[i][j]=0;
}
}
count=0;
j=0;
while(j<len)
{
if(count%2==0)
{
for(i=0;i<rails;i++)
{
//strcpy(code[i][j],str[j]);
code[i][j]=-1;
j++;
}
}
else
{
for(i=rails-2;i>0;i--)
{
code[i][j]=-1;
j++;
}
}
count++;
}
//Decrypting here.Above is same as encryption but instead of keeping letters we stored it with -1 i.e. dashes(in view)
k=0;
for(i=0;i<rails;i++)
{
for(j=0;j<len;j++)
{
if(code[i][j]!=0)
{
code[i][j]=(int)str[k];
k++;
}
}
}
//repeating above procedure
count=0;
j=0;
while(j<len)
{
if(count%2==0)
{
for(i=0;i<rails;i++)
{
//strcpy(code[i][j],str[j]);
printf("%c",code[i][j]);
j++;
}
}
else
{
for(i=rails-2;i>0;i--)
{
printf("%c",code[i][j]);
j++;
}
}
count++;
}
printf("\n");
}
Explanation:Pre explanation of logic:-
//Coming Soon
Output: Should consider even Spaces


