Pagini recente » Cod sursa (job #2217802) | Cod sursa (job #2667535) | Cod sursa (job #979561) | Cod sursa (job #1315917) | Cod sursa (job #1016602)
#include <iostream>
#include <fstream>
#include <stdlib.h>
using namespace std;
ifstream fin("sdo.in");
ofstream fout("sdo.out");
int partitionare(int i,int j,int a[])
{
int p,pv;
p=rand() % (j-i+1) + i;
pv=a[p];
fout<<"pivot: "<<pv<<endl;
while (i!=j)
{
while (a[i]<pv)
i++;
while (a[j]>pv)
j--;
swap(a[i],a[j]);
}
return i;
}
int quick(int i,int j,int a[],int st)
{
int k;
if (i<j)
{
k=partitionare(i,j,a);
if (k>st)
quick(i,k-1,a,st);
else
if (k<st)
quick(k+1,j,a,st);
else
return a[k];
}
}
int main()
{
int a[80],n,i,k;
fin>>n;
fin>>k;
for (i=1;i<=n;i++)
fin>>a[i];
fout<<"a "<<k<<"-a statistica de ordide este "<<quick(1,n,a,k);
return 0;
}