Pagini recente » Cod sursa (job #306790) | Cod sursa (job #2059638) | Arhiva de probleme | Cod sursa (job #646946) | Cod sursa (job #493952)
Cod sursa(job #493952)
#include <stdio.h>
#include <string.h>
char sir[1020],aux[1020];
int n,lg,i,sol[1020],j,k,nr,ok,verif;
FILE*f=fopen("strmatch.in","r");
FILE*g=fopen("strmatch.out","w");
void tipar(){
fprintf(g,"%d\n",nr);
for(i=1;i<=nr;i++)
fprintf(g,"%d ",sol[i]);
}
int main(){
fscanf(f,"%s",&sir);
fscanf(f,"\n");
fscanf(f,"%s",&aux);
verif=1;
lg=strlen(aux);
n=strlen(sir);
for(i=0;i<lg&&verif;){
if(sir[0]==aux[i]){
ok=1;
for(k=0,j=i;k<n && verif;k++,j++){
if(sir[k]!=aux[j]){
ok=0;
break;
}
}
if(ok){
if(nr==1000){
verif=0;
tipar();
}
else{
sol[++nr]=i;
i++;
}
}
else
i=j;
}
else
i++;
}
if(verif){
fprintf(g,"%d\n",nr);
for(i=1;i<=nr;i++)
fprintf(g,"%d ",sol[i]);
}
fclose(f);
fclose(g);
return 0;
}