int la_mes_alta(Tjoc joc,Tcarta *alta,int *pos){ /* Busca la carta mes alta i la seva posicio en el joc. Si no hi ha cartes retorna 0, altrament retorna 1. */ int i; if (joc.ncartes==0){ printf("Joc buit\n"); return 0; } *pos=0; *alta=joc.cartes[0]; for (i=1;i0){ *alta=joc.cartes[i]; *pos=i; } return 1; } int busca(Tcarta c,Tjoc joc){ /* Localitza una carta en un joc. Si no hi es retorna joc->ncartes. */ int i; i=0; while ((compara_cartes(c,joc.cartes[i])!=0) && i0) && ijoc->ncartes){ printf("Posicio incorrecta!\n"); return 0; } if (joc->ncartes==MAXCARTES-1) { printf("Joc ple!\n"); return 0; } for (i=joc->ncartes;i>pos;i--) joc->cartes[i]=joc->cartes[i-1]; joc->cartes[pos]=carta; joc->ncartes++; return 1; } int extreu(int pos,Tjoc *joc,Tcarta *carta){ /* Extreu una carta d'una posicio d'un joc i retorna la carta extreta per referencia. Si l'extraccio te exit retorna 1, altrament retorna 0. */ int i; if (joc->ncartes==0){ return 0; } if (pos<0 || pos>=joc->ncartes){ printf("Posicio incorrecta!\n"); return 0; } *carta=joc->cartes[pos]; for (i=pos;incartes-1;i++) joc->cartes[i]=joc->cartes[i+1]; joc->ncartes--; return 1; }