Advertisement
Guest User

Untitled

a guest
Feb 19th, 2018
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.45 KB | None | 0 0
  1. #include <iostream>
  2. #include <unistd.h>
  3. #include <stdio.h>
  4. using namespace std;
  5.  
  6. unsigned int delay;
  7.  
  8. int main() {
  9. delay = 1000;
  10. int r = 0, c = 0, cap = 8;
  11. int b[cap][cap] = { };
  12. b[r][c] = 1; //r & c are 0
  13. while(c != cap){
  14.  
  15. ROW: //row
  16. for(int i = 0; i <= c; i++){
  17. usleep(delay);
  18. cout << r << " ROW LOOP\n";
  19. if(b[r][i] == 1){
  20. cout << i << " Found Queen\n";
  21. r++;
  22. goto ROW;
  23. // if piece found goto next row
  24. }
  25. goto COL;
  26. // on empty row goto COL
  27. }
  28.  
  29. COL: //column
  30. usleep(delay);
  31. cout << c << " COL LOOP\n";
  32. for(int j = 0; j <= r; j++){
  33. if(b[j][c] == 1){
  34. cout << j << " Found Queen\n";
  35. c++;
  36. goto COL;
  37. }
  38. goto DGL;
  39. }
  40.  
  41. DGL: //diagonal
  42. for(int k = 1; k <= c; k++){
  43. usleep(delay);
  44. cout << k << " DGL LOOP\n";
  45. if(b[r-k][c-k] == 1){
  46. cout << k << " exit ONE\n";
  47. r++;
  48. goto ROW;
  49. }
  50.  
  51. if(r < cap) {
  52. printf("Place Queen At %d , %d\n", r , c );
  53. b[r][c] = 1;
  54. cout << k << " exit TWO\n";
  55. goto ROW;
  56. } else if (r >= cap) {
  57. r = 0;
  58. cout << k << " exit THREE\n";
  59. goto ROW;
  60. }
  61. }
  62. }
  63.  
  64. for (int i = 0; i < cap; i++){
  65. for (int j = 0; j < cap; j++){
  66. cout << b[i][j];
  67. }
  68. cout << endl;
  69. }
  70. cout << endl;
  71. return 0;
  72. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement