Pagini recente » Cod sursa (job #1829521) | Cod sursa (job #2048160) | Cod sursa (job #2510484) | Cod sursa (job #605678) | Cod sursa (job #1343962)
#include <stdio.h>
#include <stdbool.h>
#include <stdlib.h>
int main()
{
FILE *f;
char c;
bool p = false;
bool z = false;
bool spoint=false;
int ghilimele = 0;
char *b = (char *)malloc(3000000 * sizeof(char));
int i=0;
f=fopen("convertor.in","rt");
FILE *fw = fopen("convertor.out", "w");
while((c=getc(f))!= '}')
{
if (c == '{')
{
spoint = true;
}
if (spoint == true)
{
if (c == '"')
{
ghilimele++;
p=true;
}
if ((c == ':') && (ghilimele % 2 == 0))
{
z=true;
}
if ((c == ',') && (ghilimele % 2 == 0))
{
z=false;
b[i]=',';
i++;
}
if (((c >= 'a'&& c <='z') || (c >= 'A' && c <= 'Z') || (c>='0' && c<='9') || (ghilimele % 2 == 1)) && (z == true) && (c!='"'))
{
b[i]=c;
i++;
}
if ((p==true) && (ghilimele % 2 == 0) && (z == false))
{
fprintf(fw,",");
}
p=false;
if ((ghilimele % 2 == 1) && (c!='"') && (z==false))
{
fprintf(fw,"%c",c);
}
}
}
z=false;
ghilimele = 0;
b[i]=',';
b[i+1]='\0';
fprintf(fw,"\n%s\n",b);
free(b);
p=false;
bool q=false;
spoint = false;
while((c=getc(f))!=']')
{
if (c == '{')
{
spoint = true;
}
if (spoint == true)
{
if (c == '"')
{
ghilimele++;
}
if (((c >= 'a'&& c <='z') || (c >= 'A' && c <= 'Z') || (c>='0' && c<='9') || (ghilimele % 2 == 1)) && (p == true) && (c!='"'))
{
fprintf(fw,"%c",c);
}
if ((c == ':') && (ghilimele % 2 == 0))
{
p = true;
}
if ((c == ',') && (ghilimele % 2 == 0) && (q==true))
{
p = false;
fprintf(fw,",");
}
if ((ghilimele % 2 == 0) && (c == '}'))
{
p = false;
q = false;
fprintf(fw,",\n");
}
if (c == '{')
{
q=true;
}
}
}
fclose(f);
fclose(fw);
return 0;
}