program doesnot hav syntax error but doesnot give its specified output might be some logical error cant find it.
Code:
/* program to store runtime data in two multidimentional array and match them if same word occurs b/w them
it is omitted in second and remaining is printed again */
#include<stdio.h>
#include<string.h>
int storear(char s[],int flag);
void match(char *s1[],char *s2[]);
int storear(char s[10],int flag) /*STORE STRINGS IN ARRAY*/
{
int i;
char c;
for(i=0;i<=9 &&(c=getchar())!=' ' && c!='\t' && c!='\n' &&c!=EOF;i++)
s[i]=c;
if(c=EOF)
flag=1;
return (int)s; /*CAST CONVERT POINTER TO INT*/
}
void match(char *s1[], char *s2[]) /*MATCH TWO MULTIDIAMENTIONAL ARRAY */
{
char *t,*e;
int c,i=0,j=0;
for(i=0;i<=9;i++)
{
for(j=0;j<=9;j++)
{
t=s1[i];
e=s2[j];
c=strcmp(t,e);
if(!c)
{s2[j]=s2[++j];
--j;
}
}
}
}
main()
{
int j=0,i=0,flag=0;
char *s3[10],*s4[10],s[10],*d;
for(i=0;i<=9 ;i++)
{
if(flag==0)
s3[i]=(char *)storear(s,flag);
else
s3[i]='\0';
}
flag=0;
for(i=0;i<=9 && (!flag);i++)
{
if(flag==0)
s4[i]=(char *)storear(s,flag); /*CAST FOR INT TO POINTER*/
else
s4[i]='\0';
}
match(s3,s4);
while (s3[j]!='\0')
{d=s4[j++];
printf("%2s",*d);
}
getch();
}