Guest User

Untitled

a guest
Aug 21st, 2018
93
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 8.69 KB | None | 0 0
  1. ##hledani shody
  2.  
  3. bool porovnej (Tdata vekt, Tdata mat)
  4. {
  5. int clen=1, smer='V', shoda=0, r=0, s=0;
  6. for (int r0=0;r0<mat.radku;r0++)
  7. {
  8. for (int s0=0;s0<mat.sloupcu;s0++)
  9. {
  10. if (vekt.vektor[0]==mat.matice[r0][s0])
  11. {
  12. switch (smer)
  13. {
  14. case 'V':
  15. {
  16. clen=1;
  17. r=r0;
  18. s=s0;
  19. shoda=0;
  20. while (clen<vekt.prvku)
  21. {
  22. if ((s+1)<mat.sloupcu)
  23. {
  24. if (mat.matice[r][s+1]==vekt.vektor[clen])
  25. {
  26. shoda++;
  27. if ((clen+1)==vekt.prvku) break;
  28. s++;
  29. clen++;
  30. }
  31. else clen=vekt.prvku;
  32. }
  33. else clen=vekt.prvku;
  34. }
  35. }
  36. case 'JV':
  37. {
  38. clen=1;
  39. r=r0;
  40. s=s0;
  41. shoda=0;
  42. while (clen<vekt.prvku)
  43. {
  44. if (((s+1)<mat.sloupcu)&&((r+1)<mat.radku))
  45. {
  46. if (mat.matice[r+1][s+1]==vekt.vektor[clen])
  47. {
  48. shoda++;
  49. if ((clen+1)==vekt.prvku) break;
  50. s++;
  51. r++;
  52. clen++;
  53. }
  54. else clen=vekt.prvku;
  55. }
  56. else clen=vekt.prvku;
  57. }
  58. if ((clen+1)==vekt.prvku) break;
  59. }
  60. case 'J':
  61. {
  62. clen=1;
  63. r=r0;
  64. s=s0;
  65. shoda=0;
  66. while (clen<vekt.prvku)
  67. {
  68. if ((r+1)<mat.sloupcu)
  69. {
  70. if (mat.matice[r+1][s]==vekt.vektor[clen])
  71. {
  72. shoda++;
  73. if ((clen+1)==vekt.prvku) break;
  74. r++;
  75. clen++;
  76. }
  77. else clen=vekt.prvku;
  78. }
  79. else clen=vekt.prvku;
  80. }
  81. if ((clen+1)==vekt.prvku) break;
  82. }
  83. case 'JZ':
  84. {
  85. clen=1;
  86. r=r0;
  87. s=s0;
  88. shoda=0;
  89. while (clen<vekt.prvku)
  90. {
  91. if ((s>0)&&((r+1)<mat.radku))
  92. {
  93. if (mat.matice[r+1][s-1]==vekt.vektor[clen])
  94. {
  95. shoda++;
  96. if ((clen+1)==vekt.prvku) break;
  97. s--;
  98. r++;
  99. clen++;
  100. }
  101. else clen=vekt.prvku;
  102. }
  103. else clen=vekt.prvku;
  104. }
  105. if ((clen+1)==vekt.prvku) break;
  106. }
  107. case 'Z':
  108. {
  109. clen=1;
  110. r=r0;
  111. s=s0;
  112. shoda=0;
  113. while (clen<vekt.prvku)
  114. {
  115. if (s>0)
  116. {
  117. if (mat.matice[r][s-1]==vekt.vektor[clen])
  118. {
  119. shoda++;
  120. if ((clen+1)==vekt.prvku) break;
  121. s--;
  122. clen++;
  123. }
  124. else clen=vekt.prvku;
  125. }
  126. else clen=vekt.prvku;
  127. }
  128. if ((clen+1)==vekt.prvku) break;
  129. }
  130. case 'SZ':
  131. {
  132. clen=1;
  133. r=r0;
  134. s=s0;
  135. shoda=0;
  136. while (clen<vekt.prvku)
  137. {
  138. if ((s>0)&&(r>0))
  139. {
  140. if (mat.matice[r-1][s-1]==vekt.vektor[clen])
  141. {
  142. shoda++;
  143. if ((clen+1)==vekt.prvku) break;
  144. s--;
  145. r--;
  146. clen++;
  147. }
  148. else clen=vekt.prvku;
  149. }
  150. else clen=vekt.prvku;
  151. }
  152. if ((clen+1)==vekt.prvku) break;
  153. }
  154. case 'S':
  155. {
  156. clen=1;
  157. r=r0;
  158. s=s0;
  159. shoda=0;
  160. while (clen<vekt.prvku)
  161. {
  162. if (r>0)
  163. {
  164. if (mat.matice[r-1][s]==vekt.vektor[clen])
  165. {
  166. shoda++;
  167. if ((clen+1)==vekt.prvku) break;
  168. r--;
  169. clen++;
  170. }
  171. else clen=vekt.prvku;
  172. }
  173. else clen=vekt.prvku;
  174. }
  175. if ((clen+1)==vekt.prvku) break;
  176. }
  177. case 'SV':
  178. {
  179. clen=1;
  180. r=r0;
  181. s=s0;
  182. shoda=0;
  183. while (clen<vekt.prvku)
  184. {
  185. if (((s+1)<mat.sloupcu)&&(r>0))
  186. {
  187. if (mat.matice[r-1][s+1]==vekt.vektor[clen])
  188. {
  189. shoda++;
  190. if ((clen+1)==vekt.prvku) break;
  191. s++;
  192. r--;
  193. clen++;
  194. }
  195. else clen=vekt.prvku;
  196. }
  197. else clen=vekt.prvku;
  198. }
  199. if ((clen+1)==vekt.prvku) break;
  200. }
  201. }
  202. if (shoda==true) return true;
  203. }
  204. }
  205. }
  206.  
  207.  
  208. if (shoda==0) return false;
  209. else return true;
  210. }
Add Comment
Please, Sign In to add comment