Advertisement
Guest User

Untitled

a guest
Oct 14th, 2019
136
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.88 KB | None | 0 0
  1. #include <iostream>
  2. #include <Windows.h>
  3. #include <time.h>
  4. #include <stdlib.h>
  5. #include <vector>
  6.  
  7.  
  8.  
  9. class Vandenynas {
  10. protected: int x, y, z;
  11. protected: int v,n;
  12. public:
  13. Vandenynas () { }
  14.  
  15. Vandenynas(int xx, int yy, int zz, int vv, int nn) {
  16. x = xx; y = yy; z = zz; v = vv; n = nn;
  17. }
  18. void ivedimas() {
  19. int x5, y5, z5, n5, v5;
  20. while (!(std::cin >> x5) || !(std::cin >> y5) || !(std::cin >> z5)) {
  21. std::cin.clear();
  22. std::cin.ignore(999, '\n');
  23. std::cout << "Blogai ivesti duomenys. Iveskite per naujo. " << '\n';
  24. }
  25. // vandenyno matmenys.
  26. while (true) {
  27. if (x5 < 10 || y5 < 10 || z5 < 10) {
  28. std::cout << "Blogai ivesti duomenys , iveskite is naujo. " << '\n';
  29. std::cin >> x5 >> y5 >> z5;
  30. }
  31. else {
  32. break;
  33. }
  34. }
  35. //system("cls");
  36. std::cout << "Duomenys: " << '\n';
  37. std::cout << "ilgis: " << x5 << " " << "plotis: " << y5 << " " << "aukstis: " << z5;
  38. x = x5; y = y5; z = z5;
  39. std::cout << '\n';
  40. std::cout << "Iveskite tekmes krypti (1- tekme x asyje i +begalybe; 2- tekme x asyje i -begalybe; 3- tekme y asyje i +begalybe; 4- tekme y asyje i -begalybe" << '\n';
  41. std::cout << '\n';
  42. while (!(std::cin>> n5)) {
  43. std::cin.clear();
  44. std::cin.ignore(999, '\n');
  45. std::cout << "Blogai ivesti duomenys. Iveskite per naujo. " << '\n';
  46. }
  47. while (true) {
  48. if (n5 > 4 || n5 < 1)
  49. {
  50. std::cout << "Blogas pasirinkimas. Iveskite dar karta. " << '\n';
  51. std::cin >> n5;
  52. }
  53. else {
  54. break;
  55. }
  56. }
  57. n = n5;
  58. std::cout << '\n';
  59. std::cout << "Dabar iveskite vandens tekmes greiti(m/s)(MAX:10m/s) : " << '\n';
  60. while (!(std::cin >> v5 )) {
  61. std::cin.clear();
  62. std::cin.ignore(999, '\n');
  63. std::cout << "Blogai ivesti duomenys. Iveskite per naujo. " << '\n';
  64. }
  65. v = v5;
  66. }
  67.  
  68. };
  69. class Zuvys :public Vandenynas
  70. {
  71. private: int x2, y2, z2;
  72. int v2,t;
  73. public:
  74. Zuvys(): Vandenynas() { }
  75. Zuvys(int a, int b, int c, int d,int h): Vandenynas(x,y,z,v,n) {
  76. x2 = a; y2 = b; z2 = c; v2 = d; t = h;
  77. }
  78. void ivedimas2() {
  79. //srand(time(NULL));
  80. int x3, y3, z3;
  81. x3 = rand() % x + 1;
  82. y3 = rand() % y + 1;
  83. z3 = rand() % z + 1;
  84. x2 = x3; y2 = y3; z2 = z3;
  85. std::cout << "Zuvies koordinates: " << '/n';
  86. std::cout << x2 << " " << y2 << " " << z2;
  87. }
  88. void ivedimas3() { // laiko ivedimas.
  89. int vv, t2;
  90. std::cout << "Iveskite zuvu judejimo greiti ir laiko intervala. " << '\n';
  91. while (!(std::cin >> vv)||!(std::cin >> t2)) {
  92. std::cin.clear();
  93. std::cin.ignore(999, '\n');
  94. std::cout << "Blogai ivesti duomenys. Iveskite per naujo. " << '\n';
  95. }
  96. v2 = vv;
  97. t = t2;
  98. }
  99. void judejimas() {
  100. int m, l;
  101. srand(time(NULL));
  102. // n - juros sroves kryptis( 1- x asimi i pliusa, 2 - x asimi i minusa, 3- y asimi i pliusa, 4- y asimi i minusa.)
  103. m = rand() % 3 + 1; // zuvies judejimo kryptis pagal kuria asi;
  104. l = rand() % 2 + 1; // zuvies judejimo kryptis (ar i pliusa ar i minusa)
  105. if (m == 1) { // x asies judejimas
  106. if (n == 1||n==2) {
  107. if (l == 1 && n == 1)
  108. {
  109. if (x <= (x2 + (v2 + v) * t)||1> (x2 + (v2 + v) * t)) // neleidzia zuviai isplaukt is vandenyno.
  110. {
  111. x2 = x;
  112. }
  113. else {
  114. x2 = x2 + (v2 + v) * t;
  115. }
  116. }
  117. else if (l == 1 && n == 2)
  118. {
  119. if (x <= (x2 + (v2 - v) * t)||1> (x2+(v2 - v) * t)) // neleidzia zuviai isplaukt is vandenyno.
  120. {
  121. x2 = x;
  122. }
  123. else {
  124. x2 = x2 + (v2 - v) * t;
  125. }
  126. }
  127. else if (l == 2 && n == 1)
  128. {
  129. if (x <= (x2 - (v2 - v) * t)||1> (x2 - (v2 - v) * t)) // neleidzia zuviai isplaukt is vandenyno.
  130. {
  131. x2 = x;
  132. }
  133. else {
  134. x2 = x2 - (v2 - v) * t;
  135. }
  136. }
  137. else if (l == 2 && n == 2)
  138. {
  139. if (x <= (x2 - (v2 + v) * t)||1> (x2 - (v2 + v) * t)) // neleidzia zuviai isplaukt is vandenyno.
  140. {
  141. x2 = y;
  142. }
  143. else {
  144. x2 = y2 - (v2 + v) * t;
  145. }
  146. }
  147. }
  148. else {
  149. if (l == 1)
  150. {
  151. if (x <= (x2 + v2 * t)||1> (x2 + v2 * t)) // neleidzia zuviai isplaukt is vandenyno.
  152. {
  153. x2 = x;
  154. }
  155. else {
  156. x2 = x2 + v2 * t;
  157. }
  158. }
  159. else if (l == 2)
  160. {
  161. if (x <= (x2 - v2 * t)||1> (x2 - v2 * t)) // neleidzia zuviai isplaukt is vandenyno.
  162. {
  163. x2 = x;
  164. }
  165. else {
  166. x2 = x2 - v2 * t;
  167. }
  168. }
  169. }
  170. }
  171. if (m == 2) { // y asies judejimas
  172. if (n == 3 || n == 4) {
  173. if (l == 1 && n == 3)
  174. {
  175. if (y <= (y2 + (v2 + v) * t)||1> (y2 + (v2 + v) * t)) // neleidzia zuviai isplaukt is vandenyno.
  176. {
  177. y2 = y;
  178. }
  179. else {
  180. y2 = y2 + (v2 + v) * t;
  181. }
  182. }
  183. else if (l == 1 && n == 4)
  184. {
  185. if (y <= (y2 + (v2 - v) * t)||1> (y2 + (v2 - v) * t)) // neleidzia zuviai isplaukt is vandenyno.
  186. {
  187. y2 = y;
  188. }
  189. else {
  190. y2 = y2 + (v2 - v) * t;
  191. }
  192. }
  193. else if (l == 2 && n == 3)
  194. {
  195. if (y <= (y2 - (v2 + v) * t)||1> (y2 - (v2 + v) * t)) // neleidzia zuviai isplaukt is vandenyno.
  196. {
  197. y2 = y;
  198. }
  199. else {
  200. y2 = y2 - (v2 + v) * t;
  201. }
  202. }
  203. else if (l == 2 && n == 4)
  204. {
  205. if (y <= (y2 - (v2 - v) * t)||1> (y2 - (v2 - v) * t)) // neleidzia zuviai isplaukt is vandenyno.
  206. {
  207. y2 = y;
  208. }
  209. else {
  210. y2 = y2 - (v2 - v) * t;
  211. }
  212. }
  213. }
  214. else {
  215. if (l == 1)
  216. {
  217. if (y <= (y2 + v2 * t)||1>(y2+v2*t)) // neleidzia zuviai isplaukt is vandenyno.
  218. {
  219. y2 = y;
  220. }
  221. else {
  222. y2 = y2 + v2 * t;
  223. }
  224. }
  225. else if (l == 2)
  226. {
  227. if (y <= (y2 - v2 * t)||1> (y2 - v2 * t)) // neleidzia zuviai isplaukt is vandenyno.
  228. {
  229. y2 = y;
  230. }
  231. else {
  232. y2 = y2 - v2 * t;
  233. }
  234. }
  235. }
  236. }
  237. if (m == 3) { // z asies judejimas
  238. if (l == 1)
  239. {
  240. if (z <= (z2 + v2 * t)||1>(z2 - v2 * t)) // neleidzia zuviai isplaukt is vandenyno.
  241. {
  242. z2 = z;
  243. }
  244. else {
  245. z2 = z2 + v2 * t;
  246. }
  247. }
  248. else if (l == 2)
  249. {
  250. if (z <= (z2 - v2 * t)|| 1>(z2 - v2 * t)) // neleidzia zuviai isplaukt is vandenyno.
  251. {
  252. z2 = z;
  253. }
  254. else {
  255. z2 = z2 - v2 * t;
  256. }
  257. }
  258. }
  259. }
  260.  
  261. };
  262. int main() {
  263. Zuvys duom(0, 0, 0, 0, 0);
  264. int sk;
  265. std::vector<Zuvys> duomenys;
  266. std::cout << "Sveiki , cia programa Vandenynas. " << '\n';
  267. std::cout << '\n';
  268. std::cout << "*****************" << '\n';
  269. std::cout << '\n';
  270. std::cout << "Iveskite vandenyno matmenis (x,y,z) (MIN:10)" << '\n';
  271. std::cout << '\n';
  272. duom.ivedimas();
  273. std::cout << '\n';
  274. duom.ivedimas3();
  275. std::cout << '\n';
  276. duom.ivedimas2();
  277. std::cout << '\n';
  278. std::cout << "Iveskite norimu zuvu skaiciu,kad programa automatiskai sugeneruotu zuvu koordinates. " << '\n';
  279. std::cin >> sk;
  280. //for (int i = 0; i < sk; i++) {
  281. // duomenys.push_back(duom.ivedimas2);
  282. //}
  283. //std::cout << '\n';
  284. std::cout << "Iveskite zuvu judejimo greiti ir laiko intervala. " << '\n';
  285. //duom.ivedimas3;
  286. return 0;
  287. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement