Pagini recente » Cod sursa (job #2182098) | Cod sursa (job #3265550) | Cod sursa (job #2405934) | Cod sursa (job #1053106) | Cod sursa (job #1330819)
#include <fstream>
#include <string>
using namespace std;
int main() {
ifstream f;
ofstream g;
f.open("convertor.in");
g.open("convertor.out");
// identificare chei
char c;
string buffer;
int pos;
int state = 0;
while ((f.get(c)) && (c!='}')) {
if ((c == '[') && (state == 0))
state = 1;
else if ((c == '{') && (state == 1))
state = 2;
else if ((c == '\"') && (state == 2))
state = 3;
else if ((c == '\"') && (state == 3)) {
state = 2;
g << buffer << ",";
buffer = "";
} else if ((c == ':') && (state == 2))
state = 4;
else if ((c == ',') && (state == 4))
state = 2;
else if (state == 3)
buffer += c;
}
g<<"\n";
f.seekg(0, ios::beg);
state = 0;
while ((f.get(c)) && (c!=']')) {
if ((c == '[') && (state == 0))
state = 1;
else if ((c == '{') && (state == 1))
state = 2;
else if ((c == '\"') && (state == 2))
state = 3;
else if ((c == '\"') && (state == 3))
state = 2;
else if ((c == ':') && (state == 2))
state = 4;
else if ((c == '\"') && (state == 4))
state = 5;
else if ((c == '\"') && (state == 5))
state = 4;
else if ((c == ',') && (state == 4)) {
state = 2;
g << buffer << ",";
buffer = "";
} else if ((c == '}') && (state == 4)) {
state = 1;
g << buffer << ",";
buffer = "";
} else if ((c == '}') && (state = 2))
state = 1;
else if ((c == ',') && (state = 1))
g << "\n";
else if (state == 5)
buffer += c;
else if ((isdigit(c)) && (state == 4))
buffer += c;
}
f.close();
g.close();
return 0;
}