Pagini recente » Cod sursa (job #298494) | Cod sursa (job #1646537) | Cod sursa (job #2396895) | Cod sursa (job #3194634) | Cod sursa (job #306678)
Cod sursa(job #306678)
#include<iostream.h>
#include<stdio.h>
using namespace std;
int v[28];
int a[1000001];
int main()
{
char c;
int i,n=0,s=1,j,afis,ok,manevra;
FILE *f=fopen("ordine.in","r"), *g=fopen("ordine.out","w");
while(!feof(f))
{fscanf(f,"%c",&c);
v[(int)c-96]++;n++;} n=n-2;
//ok=0;
while(s<=n)
{ok=1;
for(j=1;j<=26;j++)
if(s!=n+1)
{
//if(ok==0)
if(v[j]==((n-s+1)/2+1))
{manevra=j;ok=1;break;}
/*{a[s]=v[j];s++;v[j]--;ok=1;break;}*/
else if( (v[j]!=0) && ok && j!=manevra)
{manevra=j;ok=0;}
/*{a[s]=j;s++;v[j]--;ok=0;}*/
}
a[s]=manevra;s++;v[manevra]--;
}
/*else {i=27;j=27;}*/
s--;
for(i=1;i<=s;i++)
{afis=a[i]+96;
fprintf(g,"%c",(char)afis); }
fprintf(g,"\n");
fclose(f);
fclose(g);
return 0;
}