#include int vzor[4] = {'C','D', 'S', 'H'}; int hraci[4][15]; int dealer; int hrac = 0; int i, j, k; int *p; int karta; int x; char c1, c2; int vratVzorKarty(int karta) { return vzor[karta/1000]; } int vratCisloKarty(int karta) { int c = karta%1000; int c1; if(c>= 2 && c <= 9) c1 = c+'0'; if (c == 10) c1 = 'T'; if (c == 11) c1 = 'J'; if (c == 12) c1 = 'Q'; if (c == 13) c1 = 'K'; if (c == 14) c1 = 'A'; return c1; } void zatrid(int hrac, int karta){ /* int i=hraci[hrac][13]; while (hraci[i]==0 && i>0) i--; printf("i je %d\n", i); while (i>0 && hraci[hrac][i] > karta){ printf("Moving %d...\n", hraci[hrac][i]); hraci[hrac][i+1] = hraci[hrac][i]; i--; } printf("i je %d\n", i); hraci[hrac][i] = karta; hraci[hrac][13]++; */ int i, j, p = hraci[hrac][13]; int a; int *x = &hraci[hrac][0]; hraci[hrac][ p ] = karta; hraci[hrac][13]++; for (i = 0; i x[j+1]) { a = x[j]; x[j] = x[j+1]; x[j+1] = a; } } } } /* void zatrid(int hrac, int karta){ int i; p=&hraci[hrac][0]; i=p[14]; while(i > 0 && p[i] > karta) { p[i+1]= p[i]; i--; } p[i] = karta; p[14]++; } */ int main(void){ /* for (i=0; i<4; i++) for (j=0; j<14; j++) hraci[i][j] = 0; */ /*scanf("%d", &dealer);*/ while ((dealer = getc(stdin)) != '#') { for (i=0; i<4; i++) hraci[i][13]=0; getc(stdin); if (dealer == (int)'N') dealer = 2; if (dealer == (int)'E') dealer = 3; if (dealer == (int)'S') dealer = 0; if (dealer == (int)'W') dealer = 1; hrac = (dealer+1) %4; /* printf("Zacinam davat karty u hrace %d dealer je %d\n", hrac, dealer);*/ for (x=0; x<2; x++){ for (i=0; i<26; i++){ c1 = getc(stdin); c2 = getc(stdin); /* printf("Nacitam znak..(%c)(%c)\n", c1, c2);*/ switch (c1){ case 'C': karta=0;break; case 'D': karta=1000;break; case 'S': karta=2000;break; case 'H': karta=3000;break; } if(c2>='2' && c2 <= '9') karta+= c2 - '0'; if (c2 == 'T') karta+= 10; if (c2 == 'J') karta+= 11; if (c2 == 'Q') karta += 12; if (c2 == 'K') karta +=13; if (c2 == 'A') karta +=14; /* printf("Davam kartu%c%c(%d) hraci %d\n",c1, c2, karta, hrac); */ zatrid(hrac, karta); if (hrac==3) hrac=0; else hrac++; } getc(stdin); } /* for (i=0; i<4; i++) for (j=0; j<13; j++) printf("hrac[%d][%d] = %d ( %c)\n", i, j, hraci[i][j], vratCisloKarty(hraci[i][j])); return 0; */ for (i = 0; i < 4; i++){ if (i == 0) printf("South player:\n"); else if (i == 1) printf("West player:\n"); else if (i == 2) printf("North player:\n"); else if (i == 3) printf("East player:\n"); printf("+---+---+---+---+---+---+---+---+---+---+---+---+---+"); p = &hraci[i][0]; printf("\n|"); for (j=0; j<13; j++){ c1 = vratCisloKarty(p[j]); printf("%c %c|", c1, c1); } printf("\n|"); for (j=0; j<13; j++){ c1 = vratVzorKarty(p[j]); printf(" %c |", c1); } printf("\n|"); for (j=0; j<13; j++){ c1 = vratCisloKarty(p[j]); printf("%c %c|", c1, c1); } printf("\n+---+---+---+---+---+---+---+---+---+---+---+---+---+\n"); } } return 0; }