Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <cstdlib>
- #include <cmath>
- #include <fstream>
- #include<string>
- #include<time.h>
- /*
- NOTA: JESLI NA EKRANIE POJAWIA SIE WIECEJ KROKOW NIZ WPISALISMY TO ZNACZY, ZE SIE ONE COFALY NA ZAJETE JUZ POZYCJE
- DO TEGO POLICZ PROMIEN ZYROSKOPOWY DLA JEDNEGO I DRUGIEGO PLASTRA
- Policz promien zyroskopowy(do wygoooglania). Jest to rozpietosc w przestrzeni ukladu atomow molekuly.
- Opisuje to srednie kwadratowe wychylenie w klastrze od srodka ciezkosci
- */
- using namespace std;
- int i = 0;
- int j = i;
- int a = 100; //rozm tab
- int tablica[100][100];
- int punkt1, punkt2;
- int iloscruchu; //ile razy sie ruszy obiekt
- int iloscruchuy;
- int main() {
- cout << "Ile ma sie razy poruszyc obiekt x: ";
- cin >> iloscruchu;
- cout << "Ile ma sie razy poruszyc obiekt y: ";
- cin >> iloscruchuy;
- iloscruchu = iloscruchu - 1;
- iloscruchuy = iloscruchuy - 1;
- cout << endl;
- for (i = 0; i < a; i++) {
- for (j = 0; j < a; j++) {
- tablica[i][j] = 0; //wypelnia tablice zerami
- }
- }
- srand(time(NULL));
- //Poczatek podrozy
- cout << endl;
- int pocz_x = rand() % 100 + 1;
- int pocz_y = rand() % 100 + 1;
- int pocz_x2 = rand() % 100 + 1;
- int pocz_y2 = rand() % 100 + 1;
- //cout << "Pocz dla x: " << pocz_x + 1<< endl << "Pocz dla y: " << pocz_y + 1<< endl;
- tablica[pocz_x][pocz_y] = 1; //WIERSZE-KOLUMNY
- tablica[pocz_x2][pocz_y2] = 2;
- //RUCH
- i = 0;
- GOTO2:
- int x;
- while (i<iloscruchu) {
- x = rand() % 100 + 1;
- //cout << endl << "x: " << x << endl;
- //cout << endl << "i: " << i << endl;
- //int x = 4;
- if (x < 25) { //W PRAWO
- /*
- Jesli pozycja [pocz_x + 1][pocz_y] jest rowna 1 lub 2 to wroc do miejsca o nazwie "GOTO2"
- */
- if (tablica[pocz_x + 1][pocz_y] == 1) {
- //tablica[pocz_x2 + 1][pocz_y2] = 1;
- cout << "goto01";
- cout << endl;
- cout << endl;
- goto GOTO2;
- }
- else {
- tablica[pocz_x + 1][pocz_y] = 1;
- pocz_x = pocz_x + 1; //po to by pozycja przeszla do wstawionego wlasnie pola
- i = i + 1;
- }
- }
- else if (x > 25 && x < 50) { //W LEWO
- if (tablica[pocz_x - 1][pocz_y] == 1) {
- //tablica[pocz_x2 + 1][pocz_y2] = 1;
- cout << "goto02";
- cout << endl;
- goto GOTO2;
- }
- else {
- tablica[pocz_x - 1][pocz_y] = 1;
- pocz_x = pocz_x - 1;
- i = i + 1;
- }
- }
- else if (x > 50 && x<75) { //W GORE
- if (tablica[pocz_x][pocz_y + 1] == 1) {
- //tablica[pocz_x2 + 1][pocz_y2] = 1;
- cout << "goto03";
- cout << endl;
- goto GOTO2;
- }
- else {
- tablica[pocz_x][pocz_y + 1] = 1;
- pocz_y = pocz_y + 1;
- i = i + 1;
- }
- }
- else if (x > 75) { //W DOL
- if (tablica[pocz_x][pocz_y - 1] == 1) {
- //tablica[pocz_x2 + 1][pocz_y2] = 1;
- cout << "goto04";
- cout << endl;
- goto GOTO2;
- }
- else {
- tablica[pocz_x][pocz_y - 1] = 1;
- pocz_y = pocz_y - 1;
- i = i + 1;
- }
- }
- }
- i = 0;
- GOTO:
- //losowanie: rnd = rand()/(1.0+RAND_MAX)
- while (i<iloscruchuy) {
- //GOTO:
- x = rand() % 100 + 1;
- cout << endl << "y: " << x << endl;
- cout << endl << "i: " << i << endl;
- //int x = 4;
- if (x < 25) { //W PRAWO
- if (tablica[pocz_x2 + 1][pocz_y2] == 1 || tablica[pocz_x2 + 1][pocz_y2] == 2) {
- //tablica[pocz_x2 + 1][pocz_y2] = 1;
- cout << "goto1";
- cout << endl;
- goto GOTO;
- }
- else {
- tablica[pocz_x2 + 1][pocz_y2] = 2;
- pocz_x2 = pocz_x2 + 1;
- i = i + 1;
- }
- }
- else if (x > 25 && x < 50) { //W LEWO
- if (tablica[pocz_x2 - 1][pocz_y2] == 1 || tablica[pocz_x2 - 1][pocz_y2] == 2) {
- //tablica[pocz_x2 - 1][pocz_y2] = 1;
- cout << "goto2";
- cout << endl;
- goto GOTO;
- }
- else {
- tablica[pocz_x2 - 1][pocz_y2] = 2;
- pocz_x2 = pocz_x2 - 1;
- i = i + 1;
- }
- }
- else if (x > 50 && x<75) { //W GORE
- if (tablica[pocz_x2][pocz_y2 + 1] == 1 || tablica[pocz_x2][pocz_y2 + 1] == 2) {
- //tablica[pocz_x2][pocz_y2 + 1] = 1;
- cout << "goto3";
- cout << endl;
- goto GOTO;
- }
- else {
- tablica[pocz_x2][pocz_y2 + 1] = 2;
- pocz_y2 = pocz_y2 + 1;
- i = i + 1;
- }
- }
- else if (x > 75) { //W DOL
- if (tablica[pocz_x2][pocz_y2 - 1] == 1 || tablica[pocz_x2][pocz_y2 - 1] == 2) {
- //tablica[pocz_x2][pocz_y2 - 1] = 1;
- cout << "goto4";
- cout << endl;
- goto GOTO;
- }
- else {
- tablica[pocz_x2][pocz_y2 - 1] = 2;
- pocz_y2 = pocz_y2 - 1;
- i = i + 1;
- }
- }
- }
- for (i = 0; i < 100; i++)
- {
- for (j = 0; j < 100; j++)
- {
- cout << tablica[i][j]; //wyswietla tablice
- }
- cout << endl;
- }
- cout << endl;
- system("pause");
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement