1. Limited time only! Sign up for a free 30min personal tutor trial with Chegg Tutors
    Dismiss Notice
Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

Homework Help: Bubble sort 2D int array with c

  1. Feb 25, 2009 #1
    hi, I'm not sure if there is a homework forum for programming but I thought I'd post my problem here; I'm supposed to bubble sort a 2d integer array with elements 15 and 2; this is what my code looks like so far:

    #include <stdio.h>
    #include <stdlib.h>
    #include <time.h>

    #define cards 15
    #define sides 2

    void bubblesort(int items[cards][sides]);

    int main()
    int i, stime;
    long ltime;

    ltime = time(NULL);
    stime = (unsigned)ltime/2;
    int deck[cards][sides];

    { deck[0]=i;
    printf("%d ", deck[0]);
    printf("%d\n", deck[1]);

    return 0;

    void bubblesort(int items[cards][sides])
    int a,b,c,d,t;

    for(c=cards-1; c>=cards;c--)
    for(d=sides-1; c>=sides;d--)
    if(items[c-1][d-1] > items[c][d])
    items[c-1][d-1] = items[c][d];
    items[c][d] = t;

    it keeps on returning the same 2 errors

    initializing argument 1 of void bubblesort(int (*)[2])
    and invalid conversion from int to int(*)[2]

    I'm not sure what kind of 'conversion' is going on; I've tried changing the variable array for bubblesort to pointer and to memory address but that gave extra errors; any help on what I might be doing wrong is appreciated
  2. jcsd
  3. Feb 26, 2009 #2
    On this line of your code
    Code (Text):
    You are sending an int to your bubblesort function, when your prototype says you are expecting a pointer to a pointer (int **). Try changing it to
    Code (Text):
    But from looking at the way you have used memory, you are bound to have more problems.
Share this great discussion with others via Reddit, Google+, Twitter, or Facebook