Nu exista pagina, dar poti sa o creezi ...
Cod sursa(job #1344465)
Utilizator | Data | 16 februarie 2015 19:07:30 | |
---|---|---|---|
Problema | Convertor | Scor | 50 |
Compilator | cpp | Status | done |
Runda | rosedu_cdl_2015 | Marime | 1.56 kb |
#include<stdio.h>
#include<ctype.h>
#include<string.h>
typedef struct
{
int s,f;
}delimitator;
int main()
{ freopen("convertor.in","r",stdin);
freopen("convertor.out","w",stdout);
char s[2000000],c;
int i=0,n,j=0,m=0,k,nr=0,ghi[3],l;
delimitator d[50];
while(scanf("%c",&c)!=EOF)
{
if(c=='\n')
continue;
else
{s[i]=c;
i++;}
}
n=i;
for(i=0;i<n;i++)
{
if(s[i]=='{')
{ d[m].s=i;
s[i]=',';
}
if(s[i]=='}')
{
d[m].f=i;
s[i]=',';
m++;
}
}
for(i=d[0].s;i<d[0].f;i++)
{ if(s[i]==',')
{ i++;
while(s[i]!=':')
{
if(s[i]=='"')
{i++;
continue;
}
if(s[i]==' ')// && )
{
if ( isalpha(s[i+1]) || isdigit(s[i+1]) )
{
printf("%c",s[i]);
i++;
}
else
{
i++;
continue;
}
}
printf("%c",s[i]);
i++;
}
printf(",");
}
}
printf("\n");
for(j=0;j<m;j++)
{ for(i=d[j].s;i<=d[j].f;i++)
{
if(s[i]==':')
{nr=0;
k=i;
while(s[i]!=',')
{
if(s[i]=='"')
{nr++;
ghi[nr]=i;}
i++;
}
if(nr!=2)
while(s[k]!=',')
{ if(isdigit(s[k]))
{ printf("%c",s[k]);
k++;
}
else
{ k++;
continue;
}
}
else
for(l=ghi[1]+1;l<ghi[2];l++)
printf("%c",s[l]);
printf(",");
i++;
}
}
printf("\n");
}
return 0;
}