- 104 名前:とりあえず mailto:sage [2007/09/19(水) 01:37:06 ]
- > 62 をソートしてみた
static int getCmpRank(int *p){ int r=*p%13; return (r<2)?r+13:r; } static int cmp(const void *p1, const void *p2){ int r1=getCmpRank((int *)p1), r2=getCmpRank((int *)p2); if(r1!=r2) return (r1<r2)?-1:1; else{ int s1=*((int *)p1)/13, s2=*((int *)p2)/13; if(s1!=s2) return (s1<s2)?-1:1; } return 0; } #define NumOfPlayer 5 void dispAll(void){int i; printf("%4c",' '); for(i=0; i<52/NumOfPlayer+1; ++i) printf(" -%2d- ", i); putchar('\n'); for(i=0; i<NumOfPlayer; ++i){ printf("#%02d:",i+1); qsort(hand[i], numOfHand[i], sizeof(int *), cmp); cardDisp(numOfHand[i], hand[i]); } } int main(void){ srand(time(NULL)); shuffle(); deal(NumOfPlayer); dispAll(); return 0; }
|

|