
#include <stdio.h>
#include <stdlib.h>
#include <time.h>


void insertion_sort(double *A, int n)
{
    int j, i;
    double key;
    for (j = 1; j < n; j++)
    {
        key = A[j];
        i = j - 1;
        while (i > -1 && A[i] > key) {
	    A[i + 1] = A[i];
	    i = i - 1;
	}
	A[i + 1] = key;
    }
    return;
}


void sort_random(int n)
{
    int i;
    /* double x[n]; */
    double *x;
    x = (double*) malloc(n * sizeof(double));
    for (i = 0; i < n; i++)
	x[i] = (1.0 * random()) / RAND_MAX;
    insertion_sort(x, n);
    for (i = 0; i < n; i++)
    	printf("%g\n", x[i]);
    free(x);
    return;
}

int main(int argc, char *argv[])
{
    int i, n;
    if (argc == 1) {
	printf("Enter n: ");
	scanf("%d", &n);
    }
    else {
	n = atoi(argv[1]);
    }
    srandom(time(NULL));
    /* printf("n = %d \n", n); */
    sort_random(n);
}

