Pagini recente » Cod sursa (job #1786728) | Cod sursa (job #2194400) | Cod sursa (job #1475880) | Cod sursa (job #1919271) | Cod sursa (job #308224)
Cod sursa(job #308224)
#include<fstream>
#include<string>
using namespace std;
char v[1000000];
int a[27];
int main()
{int i,j,k,ok;
char c;
ifstream f("ordine.in");
ofstream g("ordine.out");
k=0;
while(f>>c)
a[(int)c-(int)'a'+1]++, max=(int)c-(int)'a'+1;
i=1;
while(a[i]==0)
i++;
k=0;
while (a[i]!=0)
v[++k]=(char)((int)'a'+i-1);
i=1;
while(v[i]==0)i++;
g<<(char)((int)'a'+i-1);
v[i]--;
k=v[i];ok=1;
while(i<=26)
{while(v[i]!=0)
{if(k==1)
{g<<(char)((int)'a'+i-1);
v[i]--;
/*j=i+1;
while(v[j]==0)
j++;
g<<(char)((int)'a'+j-1);
v[j]--;ok=1;*/
}
else if(k>1&&ok==1)
{j=i+1;
while(v[j]==0)
j++;
g<<(char)((int)'a'+j-1);
v[j]--;
g<<(char)((int)'a'+i-1);
v[i]--;
}
else if((k>1)&&(v[i]==k))
{g<<(char)((int)'a'+i-1);
v[i]--;
j=i+1;
while(v[j]==0)
j++;
g<<(char)((int)'a'+j-1);
v[j]--;
g<<(char)((int)'a'+i-1);
v[i]--;
ok=1;
}
}
i++;k=v[i];ok=0;
}
g<<'\n';
f.close();
g.close();
return 0;
}