#include #include #include typedef struct spolocne{ char retazec[200]; struct spolocne *dalsi; }SPOLOCNE; typedef struct prvky{ SPOLOCNE *prvy,*akt; }PRVKY; char *vyber(char s[],int o,int po){ strncpy(s,(s+o),po); /*s=strcat(s,"\0");*/ s[po]='\0'; return(s); } void pridaj(PRVKY *p, char s[]){ SPOLOCNE *pom; if (p->prvy==NULL){ p->prvy=(SPOLOCNE *)malloc(sizeof(SPOLOCNE)); strcpy(p->prvy->retazec,s); p->prvy->dalsi=NULL; p->akt=p->prvy; } else { pom=(SPOLOCNE *)malloc(sizeof(SPOLOCNE)); strcpy(pom->retazec,s); pom->dalsi=NULL; p->akt->dalsi=pom; p->akt=pom; } } void porovnaj(PRVKY *p, char s1[], char s2[]){ int i,j; char spom2[200]; char spom[200]; for (i=0;iprvy; while (pom!=NULL){ if (strstr(s1,pom->retazec)==NULL){ if (pom==p->prvy){ pom=p->prvy->dalsi; free(p->prvy); p->prvy=pom; } else { p->akt=pom; pom=p->akt->dalsi; free(p->akt); } } else { pom=pom->dalsi; } } free(pom); } char *najdinajm(PRVKY *p){ SPOLOCNE *pom; pom=p->prvy; p->akt = p->prvy; while (pom!=NULL){ if (strcmp(p->akt->retazec,pom->retazec)<0)p->akt=pom; } return(p->akt->retazec); } int main(){ int N; int i; char s1[200]; char s2[200]; PRVKY *p; p=(PRVKY*)malloc(sizeof(PRVKY)); scanf("%d",&N); scanf("%s",s1); scanf("%s",s2); porovnaj(p,s1,s2); for (i=2;iprvy!=NULL)printf("%s\n",najdinajm(p)); else printf("IDENTITY LOST\n"); return 0; }