Bubble sort program stumped
This is killing me
if i have 3 6 9 2 5 8 1 4
i have this sorter
Code:
for(i = 0; i < NUMBER; ++i)
for (j = i + 1; j < NUMBER; ++j)
if (a[i] > a[j])
swap (&a[i], &a[j]);
with 8 random number intered it is supposed to output
Numbers entered: 3 6 9 2 5 8 1 4
next pass: 1 3 6 9 2 5 8 4
so on: .......
this is my code and it still doesnt do what I want it to do. Arrays and pointers are my week point can some one please help I am desperate
Code:
#include<stdio.h>
void swap(int*, int *);
int main(void)
{
int a[8];
int i,j;
for(i = 0; i < 8; ++i)
if(scanf("%d",&a[i])){
printf("Unordered data: %d\n", a[i]);}
for(i = 0; i < 8; ++i)
for(j = i + 1 ; j < 8 ; j++)
if(a[i] > a[j])
swap(&a[i], &a[j]);
for(i = 0; i < 8; ++i)
printf("after pass 1: %d\n",a[i]);
getchar();
}
void swap(int *p, int *q)
{
int tmp;
tmp =*p;
*p = *q;
*q = tmp;
}