Simulare loterie

Simulează o extragere la loterie.

  • Citim numărul total de bile și câte trebuie extrase

  • Creăm un vector cu toate numerele posibile

  • Extragem aleatoriu k numere, fără repetiție

  • Sortăm numerele extrase și le afișăm

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

int main() {
    int n, k;
    cin >> n >> k;  // n = număr total, k = numere extrase
    
    if(n < 1 || k < 1 || k > n) {
        cout << "Parametri invalizi" << endl;
        return 1;
    }
    
    vector<int> bile;
    for(int i = 1; i <= n; i++)
        bile.push_back(i);
    
    srand(time(0));
    vector<int> extrase;
    
    for(int i = 0; i < k; i++) {
        int idx = rand() % bile.size();
        extrase.push_back(bile[idx]);
        bile.erase(bile.begin() + idx);
    }
    
    sort(extrase.begin(), extrase.end());
    
    cout << "Numerele extrase: ";
    for(int x : extrase)
        cout << x << " ";
    cout << endl;
    
    return 0;
}
2
1
Numerele extrase: 2

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