Simulare mișcare particule

Simulează mișcarea aleatoare a unor particule într-un spațiu bidimensional.

  • Citim numărul de particule și numărul de pași de simulare

  • Toate particulele încep de la coordonatele (0,0)

  • Pentru fiecare pas, fiecare particulă se mișcă aleatoriu într-una din cele 4 direcții

  • La final, afișăm poziția fiecărei particule

#include <bits/stdc++.h>
using namespace std;

int main() {
    int n, pasi;
    cin >> n >> pasi;
    
    vector<int> x(n, 0), y(n, 0);
    
    srand(time(0));
    for(int pas = 1; pas <= pasi; pas++) {
        for(int i = 0; i < n; i++) {
            int directie = rand() % 4;
            if(directie == 0) x[i]++;
            else if(directie == 1) y[i]++;
            else if(directie == 2) x[i]--;
            else y[i]--;
        }
    }
    
    for(int i = 0; i < n; i++)
        cout << "Particula " << i+1 << ": (" << x[i] << "," << y[i] << ")" << endl;
    
    return 0;
}
2
2
Particula 1: (1,1)

Create a free website with Framer, the website builder loved by startups, designers and agencies.