- #1
James889
- 192
- 1
Hi,
I am trying to write a program that sorts an array of random numbers.
Unfortunately, it does not work out as i had hoped, I am getting some strange output.
Here's my code:
I am trying to write a program that sorts an array of random numbers.
Unfortunately, it does not work out as i had hoped, I am getting some strange output.
Here's my code:
Code:
#include <stdio.h>
#include <stdlib.h>
/* Function Prototypes */
int rand(void);
void srand(unsigned int seed);
void bubblesort(int array[]);
static unsigned long int next = 1;
int main() {
int array[10000] = { 0 };
int *ap,*fp;
srand(23);
for(ap = array; ap<&array[1000]; ap++) {
*ap = rand();
}
/*Sort it*/
bubblesort(&array[10000]);
/*Print it*/
for (fp = array; fp<&array[10000]; fp++)
printf("%d ",*fp);
return 0;
}
void bubblesort(int array[]) {
int ARRAY_LENGTH,temp;
ARRAY_LENGTH = sizeof(array)/sizeof(int);
for(int i=0; i<ARRAY_LENGTH; i++) {
if(array[ARRAY_LENGTH] < array[ARRAY_LENGTH - i]) {
temp = array[ARRAY_LENGTH];
array[ARRAY_LENGTH] = array[ARRAY_LENGTH -i];
array[ARRAY_LENGTH -i] = temp;
}
}
}
int rand(void) {
next = next * 1103515245 + 12345;
return (unsigned int)(next/65536)%32768;
}
void srand(unsigned int seed) {
next = seed;
}