Pagini recente » Cod sursa (job #1837667) | Simulare 06 | wellcodesimulare2martieclasa9 | Cod sursa (job #63896) | Cod sursa (job #1338085)
#include <fstream>
#include <iostream>
#include <cstdio>
#include <cstring>
#define LG 1048577
using namespace std;
char buffer[LG];
int ns;
int main()
{
string s;
int poz = 0;
freopen("convertor.in", "r", stdin);
freopen("convertor.out", "w", stdout);
fread(buffer, 1, LG, stdin);
ns = strlen(buffer);
/// aici printez header-ul de la CSV
while(buffer[poz] != '"')
poz++;
while(buffer[poz] != '}')
{
poz++;
s.clear();
while(buffer[poz] != '"')
{
s += buffer[poz];
poz++;
}
poz++;
cout << s << ",";
while(!('0' <= buffer[poz] && buffer[poz] <= '9') && buffer[poz] != '"')
poz++;
if(buffer[poz] == '"')
{
poz++;
while(buffer[poz] != '"')
poz++;
poz++;
}
else
{
while('0' <= buffer[poz] && buffer[poz] <= '9')
poz++;
}
while(buffer[poz] != '}' && buffer[poz] != '"')
poz++;
}
cout << "\n";
/// acum continutul in sine
poz = 0;
while(poz < ns)
{
while(poz < ns && buffer[poz] != '{')
poz++;
if(poz == ns)
break;
s.clear();
while(buffer[poz] != '}')
{
while(buffer[poz] != '}' && buffer[poz] != '"')
poz++;
if(buffer[poz] == '}')
break;
poz++;
while(buffer[poz] != '"')
poz++;
poz++;
while(!('0' <= buffer[poz] && buffer[poz] <= '9') && buffer[poz] != '"')
poz++;
if(buffer[poz] == '"')
{
poz++;
while(buffer[poz] != '"')
{
s += buffer[poz];
poz++;
}
s += ",";
poz++;
}
else
{
while('0' <= buffer[poz] && buffer[poz] <= '9')
{
s += buffer[poz];
poz++;
}
s += ",";
}
}
cout << s << "\n";
}
return 0;
}