Pagini recente » Cod sursa (job #1582780) | Cod sursa (job #855783)
Cod sursa(job #855783)
#include<cstdio>
#include<cstdlib>
void generate(float *&v,int &n)
{
FILE *g;
g=fopen("nr.txt","w+");
int i; float f;
n=10;
v=(float*)calloc(n,sizeof(float*));
for(i=0;i<n;i++)
{
f=(float)rand()/((float)RAND_MAX/1000);
fprintf(g,"%.3f \n",f);
v[i]=f;
}
fclose(g);
}
void citire(float *&v,int &n)
{
FILE *f;
f=fopen("nr.txt","r");
int i;
v=(float*)calloc(n,sizeof(float*));
for(i=0;i<n;i++)
fscanf(f,"%f",v[i]);
fclose(f);
}
void quickSort(float *v,int st,int dr){
int pivot,j,i;
float temp;
if(st<dr){
pivot=st;
i=st;
j=dr;
while(i<j){
while(v[i]<=v[pivot]&&i<dr)
i++;
while(v[j]>v[pivot])
j--;
if(i<j){
temp=v[i];
v[i]=v[j];
v[j]=temp;
}
}
temp=v[pivot];
v[pivot]=v[j];
v[j]=temp;
quickSort(v,st,j-1);
quickSort(v,j+1,dr);
}
}
int main()
{
int n,i;
float *v;
generate(v,n);
//citire(v,n);
quickSort(v,0,n-1);
for(i=1;i<n;i++)
printf("%d\n",v[i]);
system("pause");
return 0;
}