Pagini recente » Cod sursa (job #2589053) | Cod sursa (job #1341093) | Cod sursa (job #1222779) | Cod sursa (job #1785981) | Cod sursa (job #306978)
Cod sursa(job #306978)
#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=0,manevra=0;
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;
while (s<=n)
{ok=0;
for(j=1;j<=26;j++)
{
if( ( v[j] == ( (n - s + 1) / 2 + 1 ) ) && (j != manevra) )
{ manevra=j;
break;
}
else if( (v[j]!=0) && (j!=manevra) && (!ok) )
{manevra=j;
ok=1;
}
}
a[s] = manevra;
s++;
v[manevra]--;
}
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;
}