Advertisement
Guest User

Untitled

a guest
Jan 19th, 2018
131
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 4.55 KB | None | 0 0
  1. #include <iostream>
  2. #include <cstdlib>
  3. #include <cmath>
  4. #include <fstream>
  5. #include<string>
  6. #include<time.h>
  7.  
  8. /*
  9. NOTA: JESLI NA EKRANIE POJAWIA SIE WIECEJ KROKOW NIZ WPISALISMY TO ZNACZY, ZE SIE ONE COFALY NA ZAJETE JUZ POZYCJE
  10.  
  11. DO TEGO POLICZ PROMIEN ZYROSKOPOWY DLA JEDNEGO I DRUGIEGO PLASTRA
  12.  
  13. Policz promien zyroskopowy(do wygoooglania). Jest to rozpietosc w przestrzeni ukladu atomow molekuly.
  14. Opisuje to srednie kwadratowe wychylenie w klastrze od srodka ciezkosci
  15. */
  16.  
  17.  
  18. using namespace std;
  19.  
  20. int i = 0;
  21. int j = i;
  22. int a = 100; //rozm tab
  23. int tablica[100][100];
  24. int punkt1, punkt2;
  25. int iloscruchu; //ile razy sie ruszy obiekt
  26. int iloscruchuy;
  27.  
  28. int main() {
  29.  
  30.     cout << "Ile ma sie razy poruszyc obiekt x: ";
  31.     cin >> iloscruchu;
  32.     cout << "Ile ma sie razy poruszyc obiekt y: ";
  33.     cin >> iloscruchuy;
  34.     iloscruchu = iloscruchu - 1;
  35.     iloscruchuy = iloscruchuy - 1;
  36.     cout << endl;
  37.  
  38.     for (i = 0; i < a; i++) {
  39.         for (j = 0; j < a; j++) {
  40.             tablica[i][j] = 0; //wypelnia tablice zerami
  41.         }
  42.     }
  43.  
  44.     srand(time(NULL));
  45.  
  46.     //Poczatek podrozy
  47.  
  48.     cout << endl;
  49.     int pocz_x = rand() % 100 + 1;
  50.     int pocz_y = rand() % 100 + 1;
  51.     int pocz_x2 = rand() % 100 + 1;
  52.     int pocz_y2 = rand() % 100 + 1;
  53.     //cout << "Pocz dla x: " << pocz_x + 1<< endl << "Pocz dla y: " << pocz_y + 1<< endl;
  54.  
  55.     tablica[pocz_x][pocz_y] = 1;  //WIERSZE-KOLUMNY
  56.     tablica[pocz_x2][pocz_y2] = 2;
  57.  
  58.     //RUCH
  59.     i = 0;
  60. GOTO2:
  61.     int x;
  62.     while (i<iloscruchu) {
  63.  
  64.         x = rand() % 100 + 1;
  65.         //cout << endl << "x: " << x << endl;
  66.         //cout << endl << "i: " << i << endl;
  67.         //int x = 4;
  68.         if (x < 25) { //W PRAWO
  69.                       /*
  70.                       Jesli pozycja [pocz_x + 1][pocz_y] jest rowna 1 lub 2 to wroc do miejsca o nazwie "GOTO2"
  71.                       */
  72.             if (tablica[pocz_x + 1][pocz_y] == 1) {
  73.                 //tablica[pocz_x2 + 1][pocz_y2] = 1;
  74.                 cout << "goto01";
  75.                 cout << endl;
  76.                 cout << endl;
  77.                 goto GOTO2;
  78.             }
  79.             else {
  80.                 tablica[pocz_x + 1][pocz_y] = 1;
  81.                 pocz_x = pocz_x + 1; //po to by pozycja przeszla do wstawionego wlasnie pola
  82.                 i = i + 1;
  83.             }
  84.         }
  85.         else if (x > 25 && x < 50) { //W LEWO
  86.             if (tablica[pocz_x - 1][pocz_y] == 1) {
  87.                 //tablica[pocz_x2 + 1][pocz_y2] = 1;
  88.                 cout << "goto02";
  89.                 cout << endl;
  90.                 goto GOTO2;
  91.             }
  92.             else {
  93.                 tablica[pocz_x - 1][pocz_y] = 1;
  94.                 pocz_x = pocz_x - 1;
  95.                 i = i + 1;
  96.             }
  97.         }
  98.         else if (x > 50 && x<75) { //W GORE
  99.             if (tablica[pocz_x][pocz_y + 1] == 1) {
  100.                 //tablica[pocz_x2 + 1][pocz_y2] = 1;
  101.                 cout << "goto03";
  102.                 cout << endl;
  103.                 goto GOTO2;
  104.             }
  105.             else {
  106.                 tablica[pocz_x][pocz_y + 1] = 1;
  107.                 pocz_y = pocz_y + 1;
  108.                 i = i + 1;
  109.             }
  110.         }
  111.         else if (x > 75) { //W DOL
  112.             if (tablica[pocz_x][pocz_y - 1] == 1) {
  113.                 //tablica[pocz_x2 + 1][pocz_y2] = 1;
  114.                 cout << "goto04";
  115.                 cout << endl;
  116.                 goto GOTO2;
  117.             }
  118.             else {
  119.                 tablica[pocz_x][pocz_y - 1] = 1;
  120.                 pocz_y = pocz_y - 1;
  121.                 i = i + 1;
  122.             }
  123.         }
  124.  
  125.     }
  126.  
  127.     i = 0;
  128. GOTO:
  129.     //losowanie: rnd = rand()/(1.0+RAND_MAX)
  130.     while (i<iloscruchuy) {
  131.         //GOTO:
  132.         x = rand() % 100 + 1;
  133.         cout << endl << "y: " << x << endl;
  134.         cout << endl << "i: " << i << endl;
  135.         //int x = 4;
  136.         if (x < 25) { //W PRAWO
  137.             if (tablica[pocz_x2 + 1][pocz_y2] == 1 || tablica[pocz_x2 + 1][pocz_y2] == 2) {
  138.                 //tablica[pocz_x2 + 1][pocz_y2] = 1;
  139.                 cout << "goto1";
  140.                 cout << endl;
  141.                 goto GOTO;
  142.             }
  143.             else {
  144.                 tablica[pocz_x2 + 1][pocz_y2] = 2;
  145.                 pocz_x2 = pocz_x2 + 1;
  146.                 i = i + 1;
  147.             }
  148.         }
  149.         else if (x > 25 && x < 50) { //W LEWO
  150.             if (tablica[pocz_x2 - 1][pocz_y2] == 1 || tablica[pocz_x2 - 1][pocz_y2] == 2) {
  151.                 //tablica[pocz_x2 - 1][pocz_y2] = 1;
  152.                 cout << "goto2";
  153.                 cout << endl;
  154.                 goto GOTO;
  155.             }
  156.             else {
  157.                 tablica[pocz_x2 - 1][pocz_y2] = 2;
  158.                 pocz_x2 = pocz_x2 - 1;
  159.                 i = i + 1;
  160.             }
  161.         }
  162.         else if (x > 50 && x<75) { //W GORE
  163.             if (tablica[pocz_x2][pocz_y2 + 1] == 1 || tablica[pocz_x2][pocz_y2 + 1] == 2) {
  164.                 //tablica[pocz_x2][pocz_y2 + 1] = 1;
  165.                 cout << "goto3";
  166.                 cout << endl;
  167.                 goto GOTO;
  168.             }
  169.             else {
  170.                 tablica[pocz_x2][pocz_y2 + 1] = 2;
  171.                 pocz_y2 = pocz_y2 + 1;
  172.                 i = i + 1;
  173.             }
  174.         }
  175.         else if (x > 75) { //W DOL
  176.             if (tablica[pocz_x2][pocz_y2 - 1] == 1 || tablica[pocz_x2][pocz_y2 - 1] == 2) {
  177.                 //tablica[pocz_x2][pocz_y2 - 1] = 1;
  178.                 cout << "goto4";
  179.                 cout << endl;
  180.                 goto GOTO;
  181.             }
  182.             else {
  183.                 tablica[pocz_x2][pocz_y2 - 1] = 2;
  184.                 pocz_y2 = pocz_y2 - 1;
  185.                 i = i + 1;
  186.             }
  187.         }
  188.  
  189.     }
  190.  
  191.  
  192.     for (i = 0; i < 100; i++)
  193.     {
  194.         for (j = 0; j < 100; j++)
  195.         {
  196.             cout << tablica[i][j]; //wyswietla tablice
  197.         }
  198.         cout << endl;
  199.     }
  200.  
  201.  
  202.     cout << endl;
  203.     system("pause");
  204. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement