Cod sursa(job #1104948)

Utilizator sddddgjdZloteanu Anastasia sddddgjd Data 11 februarie 2014 11:33:47
Problema Ordine Scor 0
Compilator c Status done
Runda Arhiva de probleme Marime 0.83 kb
#include<stdio.h>
int v[26];
int main()
{
    FILE *fin,*fout;
    fin=fopen("ordine.in","r");
    fout=fopen("ordine.out","w");
    char ch=fgetc(fin);
    while(ch!='\n'&&ch!=EOF)
    {
        v[ch-'a']++;
        ch=fgetc(fin);
    }
    char cprev='1';
    int i;
    for(i=0; i<26; i++)
    {
        int poz=i+1;
        while(v[i]!=0)
        {
            v[i]--;
            if(cprev=='a'+i)
            {
                int j=poz;
                while(j<26&&v[j]==0)
                    j++;
                if(j<26)
                {
                    v[j]--;
                    fprintf(fout,"%c",'a'+j);
                    poz=j;
                    cprev='a'+j;
                }
            }
            fprintf(fout,"%c",'a'+i);
            cprev='a'+i;
        }
    }
    return 0;
}