Advertisement
Guest User

Untitled

a guest
Nov 12th, 2019
88
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.33 KB | None | 0 0
  1. #include <stdio.h>
  2. #define DIM 100
  3.  
  4. typedef struct {
  5. char palo; /* b-bastos, c-copas, e-espadas, o-oros */
  6. int valor; /* valor entre 1 y 12 */
  7. } t_carta;
  8.  
  9. typedef struct {
  10. int ncartas; /* numero de cartas en la baraja */
  11. t_carta cartas[DIM]; /* cartas que forman la baraja */
  12. } t_baraja;
  13.  
  14. int main()
  15. {
  16. t_baraja b1;
  17. t_carta cartas[DIM];
  18. int i=0, posmax, j=0, aux;
  19.  
  20. printf("Cuantas cartas tiene su baraja\n");
  21. scanf("%i%*c", &b1.ncartas);
  22.  
  23. printf("Introduzca las cartas separadas por guiones (o4-e10-b1...)\n");
  24. while(i<b1.ncartas)
  25. {
  26. scanf("%c%i%*c", &b1.cartas[i].palo, &b1.cartas[i].valor);
  27. i++;
  28. }
  29.  
  30.  
  31. for(i=0; i<b1.ncartas-1; i++)
  32. {
  33. posmax = i;
  34. for(j=i+1; j<b1.ncartas; j++)
  35. {
  36.  
  37. if(b1.cartas[j].palo > b1.cartas[i].palo)
  38. {
  39. aux = b1.cartas[i].palo;
  40. b1.cartas[i].palo = b1.cartas[j].palo;
  41. b1.cartas[j].palo = aux;
  42. }
  43. else if(b1.cartas[j].valor > b1.cartas[posmax].valor)
  44. {
  45. posmax = j;
  46. }
  47. aux = b1.cartas[i].valor;
  48. b1.cartas[i].valor = b1.cartas[posmax].valor;
  49. b1.cartas[posmax].valor = aux;
  50. }
  51. }
  52.  
  53.  
  54.  
  55. printf("Cartas ordenadas: ");
  56. for(i=0; i<b1.ncartas-1; i++)
  57. {
  58. printf("%c%i-", b1.cartas[i].palo, b1.cartas[i].valor);
  59. }
  60. printf("%c%i\n", b1.cartas[i].palo, b1.cartas[i].valor);
  61.  
  62.  
  63. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement