Ok, this is what I put in for my input:
Code:
Please enter name: a
Please enter ID: 1
Please enter name: b
Please enter ID: 2
Please enter name: c
Please enter ID: 3
Please enter name: d
Please enter ID: 5
Please enter name: e
Please enter ID: 4
Please enter name: f
Please enter ID: 9
Please enter name: g
Please enter ID: 8
Please enter name: h
Please enter ID: 7
Please enter name: i
Please enter ID: 6
Please enter name: stew
Please enter ID: 100
and here is what came out for the output:
Code:
1, stew
2, stew
3, stew
5, stew
4, stew
9, stew
8, stew
7, stew
6, stew
100, stew
I have gone through the code and am really getting lost as to what exactly is happening in the bubblesort.
And just for reference, here is my whole code:
Code:
#include <stdlib.h>
#include <stdio.h>
struct info_struct {
int id;
char *name;
} members[10];
void bubbleSort(int numbers[], int array_size);
int main ()
{
int i, j, k=10, l;
int numbers[11];
for (i=0; i<10; i++)
{
char buffer[256];
fflush(stdin);
printf("Please enter name: ");
fgets(buffer, sizeof(buffer), stdin);
members[i].name = buffer;
printf("Please enter ID: ");
scanf("%i", &members[i].id);
}
for (l=0; l<(k+1); l++)
{
numbers[l] = members[l].id;
}
bubbleSort(numbers, k+1);
for (j=0; j<10; j++)
{
printf("%d, %s", members[j].id, members[j].name);
}
return 0;
}
void bubbleSort(int numbers[], int array_size)
{
int i, j, temp;
for (i = (array_size - 1); i >= 0; i--)
{
for (j = 1; j <= i; j++)
{
if (numbers[j-1] > numbers[j])
{
temp = numbers[j-1];
numbers[j-1] = numbers[j];
numbers[j] = temp;
}
}
}
}
This stuff frustrates me so much for some reason. Yugh...thanks so much for your help, I really appreciate it.