Pagini recente » Cod sursa (job #2002909) | Cod sursa (job #1090367) | Istoria paginii utilizator/schizofrenie | Cod sursa (job #2307628) | Cod sursa (job #121230)
Cod sursa(job #121230)
#include<stdio.h>
#include<iostream.h>
/// -97
long v[27],n,j,gasit=-9; char s; int poz=-1;
FILE *pfile;
int cauta()
{long aux=(n-j+1)/2+1;
int i,ad=0;
if(gasit!=poz && gasit!=-9) {v[gasit]--; return poz=gasit;}
for(i=0;i<poz;i++)
if(v[i]==aux && gasit==-9) {v[i]--; gasit=i; return poz=i;}
else
if(v[i]>0 && ad==0) {poz=i; ad=1;}
for(i=poz+1;i<=25;i++)
if(v[i]==aux && gasit==-9) {v[i]--; gasit=i; return poz=i;}
else
if(v[i]>0 && ad==0) {poz=i; ad=1;} v[poz]--; return poz;
}
int main()
{pfile=fopen("ordine.in","r");
freopen("ordine.out","w",stdout);
while(!feof(pfile)) {s=fgetc(pfile); v[s-97]++; n++;}
n--;
for(j=1;j<=n;j++)
printf("%c",cauta()+97); printf("\n");
}