Cod sursa(job #421570)

Utilizator cat_red20Vasile Ioana cat_red20 Data 21 martie 2010 14:42:00
Problema Ordine Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.58 kb
#include<stdio.h>
#include<stdlib.h>
FILE *fin,*fout;
unsigned int v[30],i,j,k,min;
char ch;
int main(){
	fin=fopen("ordine.in","r");
	fout=fopen("ordine.out","w");
	while(!feof(fin)){
		fscanf(fin,"%c",&ch);
		if(ch>='a' && ch<='z'){v[ch-'a']++;}
	}
	j=0;
	for(i=1;i<26;i++){
		if((v[i]!=0) && (v[j]!=0)){
			if(v[i]<v[j]){min=i;}
			else{min=j;}
			for(k=1;k<=v[min];k++){
				fprintf(fout,"%c%c",'a'+j,'a'+i);
			}
			v[i]-=min;
			v[j]-=min;
			if((v[j]==0) && (v[i]!=0)){j=i;}
		}
		if((v[j]==0) && (v[i]!=0)){j=i;}
	}
	fclose(fin);
	fclose(fout);
return 0;}