#include<stdio.h>
#include<conio.h>
#include<math.h>
#include<string.h>
#include<ctype.h>
#include<windows.h>
char* list[100];
char* listF[100];
int top=-1;
int topF=-1;
void checkKey(int f,int t,char* ss)
{
int fo=0;
for(int k=0;k<=top;k++)
{
char* pt=list[k];
fo=0;
for(int j=0;j<strlen(pt);j++)
{
if((f+j)<strlen(ss)&&ss[f+j]==pt[j]&&(f+j)<t)
{
fo=1;
}
else
{
fo=0;
break;
}
}
if(fo==1)
{
printf("(key)");
return;
}
}
}
void append(char* s, char c) {
int len = strlen(s);
s[len] = c;
s[len+1] = '\0';
}
void printUpto(char* str,int f,int t)
{
printf(" ");
char k[100]="";
int l=0;
for(int i=f;i<=t;i++)
{
append(k,str[i]);
l+=1;
printf("%c",str[i]);
}
//printf("\n");
int isdig=0;
for(int o=0;o<strlen(k);o++)
{
isdig=0;
for(char y='0';y<='9';y++)
{
if(k[o]==y)
{
isdig=1;
break;
}
}
if(isdig==0)
{
break;
}
}
if(isdig==1)
printf("(digit)");
int isal=0;
for(int o=0;o<strlen(k);o++)
{
isal=0;
for(char y='a',Y='A';y<='z';y++,Y++)
{
if(k[o]==y||k[o]==Y)
{
isal=1;
break;
}
}
if(isal==0)
{
break;
}
}
if(isal==1)
printf("(alpha)");
}
int subIt(int f,char* ss,char* mc)
{
int fo=0;
int last=0;
for(int i=f;i<strlen(ss);i++)
{
fo=0;
int en=0;
int plen=0;
for(int k=0;k<=topF;k++)
{
en=1;
char* pt=listF[k];
plen=strlen(pt);
for(int j=0;j<strlen(pt);j++)
{
if((i+j)<strlen(ss)&&ss[i+j]==pt[j])
fo=1;
else
{
fo=0;
break;
}
}
if(fo==1&&i!=0)
{
checkKey(last,i,ss);
printUpto(ss,last,i-1);
if(i!=strlen(ss)-1)
printUpto(ss,i,i+plen-1);
last=i+plen;
en=0;
i=i+plen-1;
}
}
}
return -1;
}
void addList(char* str)
{
top+=1;
list[top]=str;
}
void addFList(char* str)
{
topF+=1;
listF[topF]=str;
}
void fill()
{
addFList("(");
addFList(")");
addFList(" ");
addFList("=");
addFList("+");
addFList("-");
addFList("*");
addFList("/");
addFList("%");
addFList("{");
addFList("}");
addFList("?");
}
void Match(char* str)
{
int v=0;
int next=0;
int y=subIt(next,str,listF[0]);
if(y!=-1&&y!=0)
{
printUpto(str,next,y-1);
next=y;
}
}
int main()
{
char ip[500];
int len;
fill();
puts("Enter your message");
gets(ip);
len=strlen(ip);
strcat(ip,"(");
Match(ip);
getch();
return 0;
}
Thanks
#include<conio.h>
#include<math.h>
#include<string.h>
#include<ctype.h>
#include<windows.h>
char* list[100];
char* listF[100];
int top=-1;
int topF=-1;
void checkKey(int f,int t,char* ss)
{
int fo=0;
for(int k=0;k<=top;k++)
{
char* pt=list[k];
fo=0;
for(int j=0;j<strlen(pt);j++)
{
if((f+j)<strlen(ss)&&ss[f+j]==pt[j]&&(f+j)<t)
{
fo=1;
}
else
{
fo=0;
break;
}
}
if(fo==1)
{
printf("(key)");
return;
}
}
}
void append(char* s, char c) {
int len = strlen(s);
s[len] = c;
s[len+1] = '\0';
}
void printUpto(char* str,int f,int t)
{
printf(" ");
char k[100]="";
int l=0;
for(int i=f;i<=t;i++)
{
append(k,str[i]);
l+=1;
printf("%c",str[i]);
}
//printf("\n");
int isdig=0;
for(int o=0;o<strlen(k);o++)
{
isdig=0;
for(char y='0';y<='9';y++)
{
if(k[o]==y)
{
isdig=1;
break;
}
}
if(isdig==0)
{
break;
}
}
if(isdig==1)
printf("(digit)");
int isal=0;
for(int o=0;o<strlen(k);o++)
{
isal=0;
for(char y='a',Y='A';y<='z';y++,Y++)
{
if(k[o]==y||k[o]==Y)
{
isal=1;
break;
}
}
if(isal==0)
{
break;
}
}
if(isal==1)
printf("(alpha)");
}
int subIt(int f,char* ss,char* mc)
{
int fo=0;
int last=0;
for(int i=f;i<strlen(ss);i++)
{
fo=0;
int en=0;
int plen=0;
for(int k=0;k<=topF;k++)
{
en=1;
char* pt=listF[k];
plen=strlen(pt);
for(int j=0;j<strlen(pt);j++)
{
if((i+j)<strlen(ss)&&ss[i+j]==pt[j])
fo=1;
else
{
fo=0;
break;
}
}
if(fo==1&&i!=0)
{
checkKey(last,i,ss);
printUpto(ss,last,i-1);
if(i!=strlen(ss)-1)
printUpto(ss,i,i+plen-1);
last=i+plen;
en=0;
i=i+plen-1;
}
}
}
return -1;
}
void addList(char* str)
{
top+=1;
list[top]=str;
}
void addFList(char* str)
{
topF+=1;
listF[topF]=str;
}
void fill()
{
addFList("(");
addFList(")");
addFList(" ");
addFList("=");
addFList("+");
addFList("-");
addFList("*");
addFList("/");
addFList("%");
addFList("{");
addFList("}");
addFList("?");
}
void Match(char* str)
{
int v=0;
int next=0;
int y=subIt(next,str,listF[0]);
if(y!=-1&&y!=0)
{
printUpto(str,next,y-1);
next=y;
}
}
int main()
{
char ip[500];
int len;
fill();
puts("Enter your message");
gets(ip);
len=strlen(ip);
strcat(ip,"(");
Match(ip);
getch();
return 0;
}
Thanks
No comments:
Post a Comment