Δημοσιεύτηκε: 14 Αύγ 2011, 00:06
από stamatiou
migf1 έγραψε: ...
arr_insdescending( arr, MAX_ELEMENTS, 10);
arr_insdescending( arr, MAX_ELEMENTS, 20);
arr_insdescending( arr, MAX_ELEMENTS, 30);
...

Μα καλά γιατί υπάρχουν τόσα errors στη C! :crazy: :crazy: :lol:
Έχω αυτόν τον κώδικα:
Spoiler: show
Κώδικας: Επιλογή όλων
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

#define EMPTY_ELEMVAL -1
#define AISE(array,lim) ((array)[0] == EMPTY_ELEMVAL)
#define AISF(array,lim) ((array)[(lim)-1]!=EMPTY_ELEMVAL)

int arr_desc(int array[],int lim,int value) {
int i,pos = 0;
if(AISE(array,lim)) {
array[0] = value;
return 0;
}else if(AISE(array,lim)) {
return -1;
}
while(i=lim-1;(i != 0) && (array[i] != EMPTY_ELEMVAL);i--);

array[i] = value;

qsort(array, lim, sizeof(int), strcmp );
return 0;
}

int arr_print( int arr[], int maxelems )
{
register int i;

for (i=0; i < maxelems; i++)//ενώ(i=0;i είναι μικρότερο του maxelems;i++)
printf("%d ", arr[i]);//Εκτύπωσε το iοστό του arr
putchar('\n');//Εκτύπωσε '\n'

return 0;
}


int main(void) {
int array[5] = {-1,-1,-1,-1,-1,-1};

arr_desc( array, 6, 10);
arr_desc( array, 6, 20);
arr_desc( array, 6, 30);

arr_print(array,6);

return 0;
}

και τα errors είναι:
Κώδικας: Επιλογή όλων
arr_descending.c: In function ‘arr_desc’:
arr_descending.c:17:2: warning: suggest parentheses around assignment used as truth value
arr_descending.c:17:15: error: expected ‘)’ before ‘;’ token
arr_descending.c:21:2: warning: passing argument 4 of ‘qsort’ from incompatible pointer type
/usr/include/stdlib.h:761:13: note: expected ‘__compar_fn_t’ but argument is of type ‘int (*)(const char *, const char *)’
arr_descending.c:10:8: warning: unused variable ‘pos’
arr_descending.c: In function ‘main’:
arr_descending.c:38:2: warning: excess elements in array initializer
arr_descending.c:38:2: warning: (near initialization for ‘array’)