Guest User

Untitled

a guest
Jan 21st, 2018
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 3.36 KB | None | 0 0
  1. #include <stdio.h>
  2. main(){
  3. int tab[8][8], caminho[2][65], L, C, cnt, a, b, move=1;
  4. preencher(caminho); // FUNÇÃO PARA PRENCHER A VARIÁVEL CAMINHO
  5. for (L=0;L<8;L++) { //ZERAR O TABULEIRO
  6.     for (C=0;C<8;C++) {
  7.         tab[L][C] = 0;
  8.     }
  9. }
  10. printf("DIGITE A POSICAO INICIAL DO CAVALO\n");
  11. scanf("%d %d", &L, &C);
  12. L--;
  13. C--;
  14. tab[L][C] = 1;
  15. for (cnt=0; cnt<64; cnt++) { // LOCALIZA A POSICAO DO CAVALO DENTRO DO VETOR
  16.         if (caminho[0][cnt] == L && caminho[1][cnt] == C) break;
  17. }
  18. while(1) { // CONTROLA A ROTA DO CAVALO, SEGUINDO O VETOR CAMINHO
  19.     cnt++;
  20.     if (caminho[0][cnt] == 99) cnt=-1; //VERIFICA SE CHEGOU AO FIM DO VETOR CAMINHO
  21.     else {
  22.         mostrar(tab);
  23.         move++;
  24.         if (move==65) {
  25.             printf("FIM DO PASSEIO DO CAVALO!");
  26.             getch();
  27.             exit(0);
  28.         }
  29.         a=caminho[0][cnt];
  30.         b=caminho[1][cnt];
  31.         tab[a][b]=move;
  32.     }
  33. }
  34. }
  35.  
  36. mostrar(int *pnt){ // FUNÇÃO PARA MOSTRAR O TABULEIRO
  37. int L, C, cnt=0;
  38. for (L=0;L<8;L++) {
  39.     for (C=0;C<8;C++) {
  40.         cnt=C;
  41.         cnt+=(L*8);
  42.         if (pnt[cnt] == 0) printf("|____");
  43.         else printf("|_%2d_", pnt[cnt]);
  44.     }
  45. printf("|\n");
  46. }
  47. printf("\n");
  48. getch();
  49. }
  50.  
  51. preencher (int *pnt) {
  52. *pnt=1;
  53. *(pnt+65)=1;
  54. pnt++;
  55. *pnt=2;
  56. *(pnt+65)=3;
  57. pnt++;
  58. *pnt=0;
  59. *(pnt+65)=4;
  60. pnt++;
  61. *pnt=1;
  62. *(pnt+65)=6;
  63. pnt++;
  64. *pnt=3;
  65. *(pnt+65)=7;
  66. pnt++;
  67. *pnt=5;
  68. *(pnt+65)=6;
  69. pnt++;
  70. *pnt=7;
  71. *(pnt+65)=7;
  72. pnt++;
  73. *pnt=6;
  74. *(pnt+65)=5;
  75. pnt++;
  76. *pnt=7;
  77. *(pnt+65)=3;
  78. pnt++;
  79. *pnt=6;
  80. *(pnt+65)=1;
  81. pnt++; //10º MOVIMENTO
  82. *pnt=4;
  83. *(pnt+65)=0;
  84. pnt++;
  85. *pnt=2;
  86. *(pnt+65)=1;
  87. pnt++;
  88. *pnt=0;
  89. *(pnt+65)=0;
  90. pnt++;
  91. *pnt=1;
  92. *(pnt+65)=2;
  93. pnt++;
  94. *pnt=2;
  95. *(pnt+65)=0;
  96. pnt++;
  97. *pnt=4;
  98. *(pnt+65)=1;
  99. pnt++;
  100. *pnt=6;
  101. *(pnt+65)=0;
  102. pnt++;
  103. *pnt=7;
  104. *(pnt+65)=2;
  105. pnt++;
  106. *pnt=6;
  107. *(pnt+65)=4;
  108. pnt++;
  109. *pnt=7;
  110. *(pnt+65)=6;
  111. pnt++; //20º MOVIMENTO
  112. *pnt=5;
  113. *(pnt+65)=7;
  114. pnt++;
  115. *pnt=3;
  116. *(pnt+65)=6;
  117. pnt++;
  118. *pnt=1;
  119. *(pnt+65)=7;
  120. pnt++;
  121. *pnt=0;
  122. *(pnt+65)=5;
  123. pnt++;
  124. *pnt=1;
  125. *(pnt+65)=3;
  126. pnt++;
  127. *pnt=0;
  128. *(pnt+65)=1;
  129. pnt++;
  130. *pnt=2;
  131. *(pnt+65)=2;
  132. pnt++;
  133. *pnt=0;
  134. *(pnt+65)=3;
  135. pnt++;
  136. *pnt=1;
  137. *(pnt+65)=5;
  138. pnt++;
  139. *pnt=0;
  140. *(pnt+65)=7;
  141. pnt++; //30º MOVIMENTO
  142. *pnt=2;
  143. *(pnt+65)=6;
  144. pnt++;
  145. *pnt=4;
  146. *(pnt+65)=7;
  147. pnt++;
  148. *pnt=6;
  149. *(pnt+65)=6;
  150. pnt++;
  151. *pnt=7;
  152. *(pnt+65)=4;
  153. pnt++;
  154. *pnt=6;
  155. *(pnt+65)=2;
  156. pnt++;
  157. *pnt=7;
  158. *(pnt+65)=0;
  159. pnt++;
  160. *pnt=5;
  161. *(pnt+65)=1;
  162. pnt++;
  163. *pnt=3;
  164. *(pnt+65)=0;
  165. pnt++;
  166. *pnt=4;
  167. *(pnt+65)=2;
  168. pnt++;
  169. *pnt=5;
  170. *(pnt+65)=0;
  171. pnt++; //40º MOVIMENTO
  172. *pnt=7;
  173. *(pnt+65)=1;
  174. pnt++;
  175. *pnt=6;
  176. *(pnt+65)=3;
  177. pnt++;
  178. *pnt=7;
  179. *(pnt+65)=5;
  180. pnt++;
  181. *pnt=6;
  182. *(pnt+65)=7;
  183. pnt++;
  184. *pnt=4;
  185. *(pnt+65)=6;
  186. pnt++;
  187. *pnt=2;
  188. *(pnt+65)=7;
  189. pnt++;
  190. *pnt=0;
  191. *(pnt+65)=6;
  192. pnt++;
  193. *pnt=1;
  194. *(pnt+65)=4;
  195. pnt++;
  196. *pnt=0;
  197. *(pnt+65)=2;
  198. pnt++;
  199. *pnt=1;
  200. *(pnt+65)=0;
  201. pnt++; //50º MOVIMENTO
  202. *pnt=3;
  203. *(pnt+65)=1;
  204. pnt++;
  205. *pnt=5;
  206. *(pnt+65)=2;
  207. pnt++;
  208. *pnt=4;
  209. *(pnt+65)=4;
  210. pnt++;
  211. *pnt=2;
  212. *(pnt+65)=5;
  213. pnt++;
  214. *pnt=3;
  215. *(pnt+65)=3;
  216. pnt++;
  217. *pnt=5;
  218. *(pnt+65)=4;
  219. pnt++;
  220. *pnt=3;
  221. *(pnt+65)=5;
  222. pnt++;
  223. *pnt=4;
  224. *(pnt+65)=3;
  225. pnt++;
  226. *pnt=5;
  227. *(pnt+65)=5;
  228. pnt++;
  229. *pnt=3;
  230. *(pnt+65)=4;
  231. pnt++; //60º MOVIMENTO
  232. *pnt=5;
  233. *(pnt+65)=3;
  234. pnt++;
  235. *pnt=4;
  236. *(pnt+65)=5;
  237. pnt++;
  238. *pnt=2;
  239. *(pnt+65)=4;
  240. pnt++;
  241. *pnt=3;
  242. *(pnt+65)=2;
  243. pnt++; //64º MOVIMENTO
  244. *pnt=99;
  245. *(pnt+65)=99; //CAMPO DE CONTROLE DO TÉRMINO DO VETOR
  246. }
Add Comment
Please, Sign In to add comment