Segmentation fault

4 views
Skip to first unread message

Добромир Иванов

unread,
Jan 17, 2012, 3:35:10 PM1/17/12
to cprogrammi...@googlegroups.com
#include <stdio.h>

enum {FALSE, TRUE};

void bubbleSort(int arr[], int(*order)(int, int), int max);
int desc(int , int);
int asc(int , int);
void swap( int*, int* );

int main()
{
int i, a[5] = {20, 10, 5, 1, 3};
bubbleSort(a, asc, 5);
for (i = 0; i < 5; i++)
{
printf("%d\n", a[i]);
}
}

void bubbleSort(int arr[], int(*order)(int, int), int max)
{
int swaped = FALSE, i;
do{
for(i = 0; i < max-1; i++)
{
if( order(arr[i], arr[i+1]) )
{
swap(&arr[i], &arr[i+1]);
}
}
max -= 1;
}while(!swaped);
}

int desc(int a, int b)
{
if(a > b)
{
return 1;
}
return 0;
}

int asc(int a, int b)
{
if( a > b )
{
return 0;
}
return 1;
}

void swap( int *a, int *b )
{
int temp;

temp = *a;
*a = *b;
*b = temp;
}

gcc version 4.6.1 (Ubuntu/Linaro 4.6.1-9ubuntu3)

Kude gresha?

Добромир Иванов

unread,
Jan 17, 2012, 3:57:10 PM1/17/12
to cprogrammi...@googlegroups.com
ОК, видях къде греша...

TriEdgeAI

unread,
Jan 17, 2012, 5:56:43 PM1/17/12
to ТУЕС Програмно осигуряване 2011
Ей т'ва с указателя към функция мно'о ми харесá. :)
Reply all
Reply to author
Forward
0 new messages