Advertisement
Guest User

Untitled

a guest
Nov 16th, 2018
105
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.43 KB | None | 0 0
  1. #include <stdio.h>
  2.  
  3. int contor(char z)
  4. {
  5.  
  6. if (z == 'X') {
  7. return 1;
  8. }
  9. else {
  10. return 2;
  11. }
  12. }
  13.  
  14. int diagonalaprincipala(int a[100][100], int n, int varant)
  15. {
  16. int i;
  17. for (i = 0; i < n * n; i++) {
  18. if (a[i][i] == 0) {
  19. a[i][i] = varant;
  20. return 1;
  21. }
  22. }
  23. return 0;
  24. }
  25.  
  26. void diagonalasecundara(int a[100][100], int n, int varant)
  27. {
  28. int i, j, k = 1, aux = 1, ok = 0;
  29.  
  30. while (ok == 0 && k < n) {
  31.  
  32. for (i = 0; i < n - 1 && i+aux<n*n; i++) {
  33. j = i + aux;
  34.  
  35. if (a[i][j] == 0) {
  36. a[i][j] = varant;
  37. ok = 1;
  38. break;
  39. }
  40. }
  41.  
  42. for (j = 0; j < n - 1 && ok!=1 && j + aux < n*n; j++) {
  43. i = j + aux;
  44.  
  45. if (a[i][j] == 0) {
  46. a[i][j] = varant;
  47. ok = 1;
  48. break;
  49. }
  50. }
  51.  
  52. k++;
  53. aux++;
  54.  
  55. }
  56. }
  57.  
  58. int verificarecompleta(int a[100][100], int n)
  59. {
  60. int i, j, ok;
  61.  
  62. for (i = 0; i < n * n; i++)
  63. for (j = 0; j < n * n; j++)
  64. if (a[i][j] == 0)
  65. return 1;
  66. return 0;
  67. }
  68.  
  69. int main()
  70. {
  71.  
  72. int n, m, i = 0, j = 0, x, y, a[100][100] = { 0 }, ok,k,varant;
  73. char z;
  74.  
  75. scanf("%d %d", &n, &m);
  76. if (z == 'x') {
  77. a[x][y] = 1;
  78. varant = 1;
  79. }
  80. while (i < m && ok != 0) {
  81.  
  82. scanf("%c", &z);
  83. scanf("%d %d", &x, &y);
  84.  
  85. if (z == 'x' && varant == 1 || z =='0' && varant == 2) {
  86.  
  87. printf("NOT YOUR TURN");
  88. }
  89.  
  90. else {
  91. varant = contor(z);
  92. if (y > n * n - 1 || x > n * n - 1) {
  93. printf("INVALID INDEX");
  94. k=diagonalaprincipala(a, n, varant);
  95. if(k!=1){
  96. diagnalasecundara(a, n, varant);}
  97. ok = verificarecompleta(a, n);
  98. }
  99.  
  100. if (a[x][y] != 0) {
  101. printf("NOT EMPTY CELL");
  102. k=diagonalaprincipala(a, n, varant);
  103. if(k!=1){
  104. diagnalasecundara(a, n, varant);}
  105. ok = verificarecompleta(a, n);
  106. }
  107. }
  108. i++;
  109. if (ok == 1) {
  110. printf("FULL BOARD");
  111. break;
  112. }
  113. }
  114. return 0;
  115. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement