Cod sursa(job #647635)

Utilizator RalleRaluca Ralle Data 11 decembrie 2011 17:44:02
Problema Statistici de ordine Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.64 kb
#include<stdlib.h>
#include<stdio.h>

void quicks(int a[],int stg,int dr)
{int i=stg;
 int j=dr;
 int pivot=a[(i+j)/2];
 while(i<=j)
 {while(a[i]<pivot)i++;
  while(a[j]>pivot)j--;
  if(i<=j){int b=a[i];
           a[i]=a[j];
           a[j]=b;
           i++;
           j--;}
  }
  if(stg<j) quicks(a,stg,j);
  if(dr>i) quicks(a,i,dr);
}
int main()
{int k,n,a[100],i,p;
 FILE *f=fopen(" sdoin.txt","r");
 FILE *g=fopen(" sdoout.txt","w");
 fscanf(f,"%d",&n);
 fscanf(f,"%d",&k);
 for(i=1;i<=n;i++)
 fscanf(f,"%d",&a[i]);
 quicks(a,1,n);
 fprintf(g,"%d",a[k]);

  fclose(f);
  fclose(g);
 
 system("pause");
 return 0;}