Red de conocimiento informático - Problemas con los teléfonos móviles - El póquer no se puede programar.

El póquer no se puede programar.

# incluir & ltstdio.h & gt

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++)

{

scanf("%s ", str);

Apoker[i]. color = str[0];

Apoker[i]. num = str[1];

}

printf("2.?");

for(I = 0;i<3;i++)

{

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;

}