Pagini recente » Cod sursa (job #2694251) | Cod sursa (job #3148777) | Cod sursa (job #2688515) | Cod sursa (job #2152611) | Cod sursa (job #743610)
Cod sursa(job #743610)
#include<cstdio>
#include<string.h>
char s[1601],a[100][255],d[255],aux[255];
int i,k,h,l;
/*char *fisier() {
char z[40];
int j;
j=0;
z[0]='/0';
while (s[i]!=','&&s[i]!=')'){
z[j]=s[i];
j++;
}
return z;
}*/
/*
char folder() {
char z[40];
z[0]='/0';
while (s[i]!=','&&s[i]!=')') strcat(z,s[i]);
return z;
}
*/
void eval(char *f){
char x[40],y[255];
int j;
j=0;
if(s[i]>='a'&&s[i]<='z'){
//x=fisier();
while (s[i]!=','&&s[i]!=')'){ x[j]=s[i]; i++; j++;}
x[j]='\0';
k++;
strcpy(a[k],f);
/*j=strlen(f);
a[k][j]=92;*/
strcat(a[k],x);
}
if(s[i]<='Z'&&s[i]>='A'){
//x=folder();
while (s[i]!='('){ x[j]=s[i]; i++; j++;}
x[j]='\0';
strcpy(y,f);
strcat(y,x);
j=strlen(y);
y[j]=92;
y[j+1]=0;
i++;
eval(y);
i++;
}
while (s[i]==','){
i++;
if(s[i]>='a'&&s[i]<='z'){
j=0;
while (s[i]!=','&&s[i]!=')'){ x[j]=s[i]; i++; j++;}
x[j]='\0';
// x=fisier();
k++;
strcpy(a[k],f);
/*j=strlen(f);
a[k][j]=92;*/
strcat(a[k],x);
}
if(s[i]<='Z'&&s[i]>='A'){
j=0;
//x=folder();
while (s[i]!='('){ x[j]=s[i]; i++; j++;}
x[j]='\0';
strcpy(y,f);
strcat(y,x);
j=strlen(y);
y[j]=92;
y[j+1]=0;
i++;
eval(y);
i++;
}
}
return;
}
int main(){
freopen("dir.in","r",stdin);
freopen("dir.out","w",stdout);
gets(s);
i=0; k=0;
eval(d);
printf("%d\n",k);
for(l=1;l<k;l++)
for (h=1+l;h<=k;h++)
if(strcmp(a[l],a[h])>0){strcpy(aux,a[l]); strcpy(a[l],a[h]); strcpy(a[h],aux);}
for(i=1;i<=k;i++)
puts(a[i]);
return 0;
}