Subversion Repositories programming

Rev

Rev 87 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 87 Rev 88
Line 29... Line 29...
29
    /* create new random seed */
29
    /* create new random seed */
30
    srand((unsigned)time(NULL));
30
    srand((unsigned)time(NULL));
31
 
31
 
32
    unsigned long size, kth_pos;
32
    unsigned long size, kth_pos;
33
    int *array;
33
    int *array;
34
    int i;
34
    int stop_looping, i;
35
    
35
    
36
    for (size=1000000; size<=1000000; size+=1000000)
36
    size = 10; /* set initial size to 10 */
-
 
37
    stop_looping = 0; /* FALSE */
-
 
38
 
-
 
39
    while ( !stop_looping )
37
    {
40
    {
-
 
41
        /* create and fill an array with random values */
38
        array = create_array (size);
42
        array = create_array (size);
39
 
-
 
40
        /* fill the array with random values */
-
 
41
        randomfill (array, size);
43
        randomfill (array, size);
42
 
44
 
43
        for (i=0; i<5; i++)
45
        for (i=0; i<5; i++)
44
        {
46
        {
-
 
47
            /* choose the kth position based on the handout */
45
            if (i==0)
48
            if (i==0)
46
                kth_pos=0;
49
                kth_pos=0;
47
            else if (i==1)
50
            else if (i==1)
48
                kth_pos=size/4;
51
                kth_pos=size/4;
49
            else if (i==2)
52
            else if (i==2)
Line 87... Line 90...
87
            
90
            
88
            /* some blank lines for spacing */
91
            /* some blank lines for spacing */
89
            printf ("\n\n");
92
            printf ("\n\n");
90
        }
93
        }
91
        
94
        
-
 
95
        /* free the memory that was allocated for the array */
92
        array = free_array (array);
96
        array = free_array (array);
93
    }
97
        
-
 
98
        /* choose size according to the Project #2 handout */
-
 
99
        if (size < 10)
-
 
100
            size = 10;
-
 
101
        else if (size < 50)
-
 
102
            size = 50;
-
 
103
        else if (size < 100)
-
 
104
            size = 100;
-
 
105
        else if (size < 250)
-
 
106
            size = 250;
-
 
107
        else
-
 
108
            size *= 2;
-
 
109
 
-
 
110
        /* if we grow above 1 billion elements, stop looping */
-
 
111
        if (size > 1000000000)
-
 
112
            stop_looping = 1; /* TRUE */
-
 
113
 
-
 
114
    } /* end while loop */
94
 
115
 
95
    return 0;
116
    return 0;
96
}
117
}
97
 
118
 
98
/* fill the array with random numbers in
119
/* fill the array with random numbers in