El póquer no se puede programar.
estructura? Póquer
{
¿Carácter? núm
¿Carácter? Color;
};
int? comparenum(char?一,char?b)
{
a=(a=='A '?9 '+5:a);
b=(b=='A '?9'+5:b);
a=(a=='K '?9 '+4:a);
b=(b=='K '?9'+4:b);
a=(a=='Q '?9'+3:a);
b=(b=='Q '?9'+3:b);
a=(a=='J '?9'+2:a);
b=(b=='J '?9'+2:b);
a=(a=='1 '?9 '+1:a);
b=(b=='1 '?9 '+1:b);
¿Volver? int(a-b);
}
int? comparecolor(char? a, char? b)
{
Interruptor (a)
{
¿Caso? ' C':si(b=='D'||b=='S'||b=='H ')¿regresar? -1;
¿Y si? ¿devolver? 0;
¿Caso? 'D':if(b=='S'||b=='H ') regresa? -1;
¿Y si? si(b=='C ') regresa? 1;
¿Y si? ¿devolver? 0;
¿Caso? ¿S':if(b=='H ') regresa? -1;
¿Y si? si(b=='C'||b=='D ') regresa? 1;
¿Y si? ¿devolver? 0;
¿Caso? 'H':si(b=='C'||b=='D'||b=='S ')¿regresar? 1;
¿Y si? ¿devolver? 0;
Predeterminado: pausa
}
¿Volver? 0;
}
¿Nulo? sortpoker(póquer?p[3])
{
¿Póker? Temperatura;
int? I,j;
for(I = 0;i<3;i++)
{
for(j = I;j<3;j++)
{
if(comparenum(p[i].num, p[j].num)<0)
{
temp = p[I];
p[I]= p[j];
p[j]= temp;
}
}
}
para(I = 0;i<3;i++)
{
para (j = I;j <3 ;j++)
{
if(comparenum(p[i].num, p[j].num)== 0 & amp; & amp comparar color. color, p [j].& lt0)
{
temp = p[I];
p[I] = p[j];
p[j]= temp;
}
}
}
}
int ? isline(poker?p[3])
{
if(comparenum(p[1]).num,p[0].num)=-1&& ampcomparenum( p[2].núm, p[1].
num)==-1)
¿Volver? 1;
¿Y si?
¿Volver? 0;
}
int? isflush(poker? p[3])
{
if(comparecolor(p[0]). color, p[1]. color) = = 0 && ampcomparecolor (p[1]. color, p[2]. color)==0\
& amp& ampisline(p))
¿Regresión? 1;
¿Y si?
¿Volver? 0;
}
int? isbomb(poker?p[3])
{
if(comparenum(p[0]).num, p[2].num)==0)
¿Volver? 1;
¿Y si?
¿Volver? 0;
}
int? isdouble(póquer?p[3])
{
if(comparenum(p[0]).num, p[1].num)==0||comparenum( p[0].num,p[2].num)==0\
||comparenum(p[1].num,p[2].num)==0)
¿Volver? 1;
¿Y si?
¿Volver? 0;
}
int? diffpoker(poker?p[3])
{
if(p[0].num==p[1].number)
¿Regresión? 2;
¿Y si?
¿Volver? 0;
}
int? compararpóker(¿póquer? p1[3], póquer? p2[3])
{
int? índice 1;
int? Índice 2;
if(isflush(p1))
{
if(isflush(p2))
{
if(comparenum(p1[0]).num,p2[0].num)>0)
¿Regresión? 1;
¿Y si? if(comparenum(p1[0]).num,p2[0].num)<0)
¿Regresión? -1;
¿Y si? if(comparecolor(p1[0]).color,p2[0].color)>0)
¿Regresión? 1;
¿Y si? if(comparecolor(p1[0]).color,p2[0].color)<0)
¿Regresión? -1;
¿Y si? if(compare color(p 1[1]).color,p2[1].color)>0)
¿Regresión? 1;
¿Y si? if(compare color(p 1[1]). Color, p2[1]. Color)<0)
¿Regresión? -1;
¿Y si? if(comparecolor(p1[2]).color,p2[2].color)>0)
¿Regresión? 1;
¿Y si? if(comparecolor(p1[2]). Color, p2[2].
Color)<0)
¿Volver? -1;
¿Y si?
¿Volver? 0;
}
¿Y si?
¿Volver? 1;
}
¿Y si? if(isbomb(p1))
{
if(isflush(p2))
¿Regresión? -1;
¿Y si? if(isbomb(p2))
{
if(comparenum(p1[0]).num, p2[0].num)>0)
¿Regresar? 1;
¿Y si? if(comparenum(p1[0]).num,p2[0].num)<0)
¿Regresión? -1;
¿Y si? if(comparecolor(p1[0]).color,p2[0].color)>0)
¿Regresión? 1;
¿Y si? if(comparecolor(p1[0]).color,p2[0].color)<0)
¿Regresión? -1;
¿Y si? if(compare color(p 1[1]).color,p2[1].color)>0)
¿Regresión? 1;
¿Y si? if(comparar color(p 1[1]). Color, p2[1]. Color)<0)
¿Regresión? -1;
¿Y si? if(comparecolor(p1[2]).color,p2[2].color)>0)
¿Regresión? 1;
¿Y si? if(comparecolor(p1[2]).color,p2[2].color)<0)
¿Regresión? -1;
¿Y si?
¿Volver? 0;
}
Otro
¿Devolver? 1;
}
¿Y si? if(isline(p1))
{
if(isflush(p2)||isbomb(p2))
¿Regresión? -1;
¿Y si? if(isline(p2))
{
if(comparenum(p1[0]).num, p2[0].num)>0)
¿Regresar? 1;
¿Y si? if(comparenum(p1[0]).num,p2[0].num)<0)
¿Regresión? -1;
¿Y si? if(comparecolor(p1[0]).color,p2[0].color)>0)
¿Regresión? 1;
¿Y si? if(comparecolor(p1[0]).color,p2[0].color)<0)
¿Regresión? -1;
¿Y si? if(compare color(p 1[1]).color,p2[1].color)>0)
¿Regresión? 1;
¿Y si? if(compare color(p 1[1]). Color, p2[1]. Color)<0)
¿Regresión? -1;
¿Y si? if(comparecolor(p1[2]).color,p2[2].color)>0)
¿Regresión? 1;
¿Y si? if(comparecolor(p1[2]). Color, p2[2].
Color)<0)
¿Volver? -1;
Otro
¿Devolver? 0;
}
Otro
¿Devolver? 1;
}
¿Y si? if(esdouble(p1))
{
if(es color(p2)| | es bomba(p2)| | es línea(p2))
¿Regresar? -1;
¿Y si? if(isdouble(p2))
{
if(compare num(p 1[1]).num,p2[1].num)>0)
¿Regresar? 1;
¿Y si? if(compare num(p 1[1]).num,p2[1].num)<0)
¿Regresión? -1;
¿Y si? if(compare num(p 1[index 1 = diff poker(p 1)].num,p2[index2=diffpoker(p2)].num)>0)
¿Regresión? 1;
¿Y si? if(compare num(p 1[index 1]).num,p2[index2].num)<0)
¿Regresión? -1;
¿Y si? if(index1==0)
{
if(comparar color(p 1[1]). Color, p2[1]. Color)>; >
¿Volver? 1;
¿Y si? if(compare color(p 1[1]). Color, p2[1]. Color)<0)
¿Regresión? -1;
¿Y si? if(comparecolor(p1[2]).color,p2[2].color)>0)
¿Regresión? 1;
¿Y si? if(comparecolor(p1[2]).color,p2[2].color)<0)
¿Regresión? -1;
¿Y si? if(comparecolor(p1[0]).color,p2[0].color)>0)
¿Regresión? 1;
¿Y si? if(comparecolor(p1[0]).color,p2[0].color)<0)
¿Regresión? -1;
¿Y si?
¿Volver? 0;
}
Otro
{
if(comparecolor(p1[0]). Color, p2[0]. Color)>;0)
¿Volver? 1;
¿Y si? if(comparecolor(p1[0]).color,p2[0].color)<0)
¿Regresión? -1;
¿Y si? if(compare color(p 1[1]).color,p2[1].color)>0)
¿Regresión? 1;
¿Y si? if(compare color(p 1[1]). Color, p2[1]. Color)<0)
¿Regresión? -1;
¿Y si? if(comparecolor(p1[2]).color,p2[2].color)>0)
¿Regresión? 1;
¿Y si? if(comparecolor(p1[2]). Color, p2[2].
Color)<0)
¿Volver? -1;
¿Y si?
¿Volver? 0;
}
}
Otro
¿Devolver? 1;
}
¿Y si? if(es color(p2)| | es bomba(p2)| | es línea(p2)| | es doble(p2))
¿Regresar? -1;
¿Y si? if(comparenum(p1[0]).num,p2[0].num)>0)
¿Regresión? 1;
¿Y si? if(comparenum(p1[0]).num,p2[0].num)<0)
¿Regresión? -1;
¿Y si? if(compare num(p 1[1]).num,p2[1].num)>0)
¿Regresión? 1;
¿Y si? if(compare num(p 1[1]).num,p2[1].num)<0)
¿Regresión? -1;
¿Y si? if(comparenum(p1[2]).num,p2[2].num)>0)
¿Regresión? 1;
¿Y si? if(comparenum(p1[2]).num,p2[2].num)<0)
¿Regresión? -1;
¿Y si? if(comparecolor(p1[0]).color,p2[0].color)>0)
¿Regresión? 1;
¿Y si? if(comparecolor(p1[0]).color,p2[0].color)<0)
¿Regresión? -1;
¿Y si? if(compare color(p 1[1]).color,p2[1].color)>0)
¿Regresión? 1;
¿Y si? if(compare color(p 1[1]). Color, p2[1]. Color)<0)
¿Regresión? -1;
¿Y si? if(comparecolor(p1[2]).color,p2[2].color)>0)
¿Regresión? 1;
¿Y si? if(comparecolor(p1[2]).color,p2[2].color)<0)
¿Regresión? -1;
¿Volver? 0;
}
int? datos de prueba(póker?p[3])
{
int? I, j;
for(I = 0;i<3;i++)
{
si (!(p[i].num== 'A '||p[i]. num=='J'||p[i]. num=='K'||\
p[i]. amp& ampp[i]. num & lt='9'))
¿Regresión? -1;
Si (!(p[i].color=='S'||p[i].color=='H'||p[i].color=='D '||p[i].color=='C '))
¿Regresar? -1;
for(j = I+1; j & lt3;j++)
{
if (p[i].color==p [j]. Color y color & ampp[i].
Números)
¿Volver? -1;
}
}
¿Volver? 1;
}
int? Principal()
{
¿Póquer? apóker[3];
¿Póker? BPO ker[3];
int? Yo, la bandera;
¿Ciel? str[5];
printf("1.?");
for(I = 0;i<3;i++)
{ p>
scanf("%s ", str);
Apoker[i]. color = str[0];
Apoker[i]. num = str[1];
}
printf("2.?");
for(I = 0;i<3;i++) p>
{
scanf("%s ", str);
Bpoker[i]. color = str[0];
Bpoker[i]. num = str[1];
}
sortpoker(Apoker);
clasificar poker(BPO ker);
if( datos de prueba(a póquer)=-1 | datos de prueba(b póquer)= =-1)
{
printf("¿Entrada? Error!\n "); p>
¿Regresar? 1;
}
flag=comparepoker(Apoker, b poker);
if(flag==1)
printf( "1.? ¿Ganador? ¿En serio? ¡Respuesta! \n ");
¿Y si? if(flag==-1)
printf("1.? ¿Ganador? ¿Sí? b!\n ");
¿Y si?
printf("1.? ¡Dibujar!\n ");
printf("2.? Respuesta:?");
for(I = 0;i<3;i++)
{
printf("%c ",Apoker[i].color);
if(Apoker[ i]. num=='1 ')
printf("10?");
Otros
printf("%-3c ",Apoker[ i]. num);
}
printf(" \ n ");
printf("3.? B:?");
p >for(I = 0;i<3;i++)
{
printf("%c ", Bpoker[i]. color);
if(Bpoker[i].num=='1 ')
printf(" 10 ");
Otros
printf(" %-3c ",Bpoker[i].num);
}
printf(" \ n ");
¿Regresión? 0;
}