Cod sursa(job #300339)

Utilizator Scorpion[email protected] Scorpion Data 7 aprilie 2009 13:13:25
Problema Ordine Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.73 kb
#include<iostream.h>
#include<fstream.h>
#include<string.h>
int n,m,i,j;
char a[100];

ifstream f("date.in");
ofstream h("date.out");
void swap(char &c,char &b)
		 { char aux;
			aux=c;c=b;b=aux;
		 }
void swap1(int &c,int &b)
		 { char aux;
			aux=c;c=b;b=aux;
		 }
void citire()
		{
		 f>>a;
		}

int pozitie(int i,int j)
	  {int di=1,dj=0;
		while(i<j)
			 {if( int(a[i]) > int(a[j]))
						  {swap(a[i],a[j]);
							swap1(di,dj);
							}
			  i=i+di;
			  j=j-dj;
			  }
		return i;
		}
void quick(int i,int j)
		{int k;
		 if(i<j)
					{k=pozitie(i,j);
					 quick(i,k-1);
					 quick(k+1,j);
					 }
		 }
void main()
{
citire();
n=strlen(a);

quick(1,n);
for(i=1;i<=n;i++)
		 h<<a[i]<<" ";
}