Losowanie liczy bez powtórzeń tablica

0

Mam pytanie napisałem kod ale nie wiem jak zrobić żeby każda liczba wylosowana była inna jeżeli ktos ma inne propozycje na zrobienie tego chętnie przyjme pomoc chodzi w tym mniej wiecej o to ze mam wylosowac 20 liczb z przedziału podanego przez użytkownika do tablicy.

#include <iostream>
#include <cstdlib>
#include <ctime>

using namespace std;
int main()
{
    int x;
    int i;
    int losowanie[20];

    srand(time(0));

    cout << "Podaj zakres do losowania pierwszy : ";
    cin >> losowanie[x];
    cout << "Podaj zakres do losowania drugi : ";
    cin >> losowanie[i];

    losowanie[x] = rand() % losowanie[i];

    for (int i = 0; i < 20; i++) {
        cout << "Wylosowalem: " << losowanie[x] << endl;
    }

    return 0;
}
3

To co zrobiłeś nie ma sensu. x i i nie mają żadnej nadanej wartości, a ich używasz. W żaden sposób nie sprawdzasz czy liczba już została wylosowana, a do samego losowania używasz rand.

Polecam lekturę:
https://dsp.krzaq.cc/post/1304/zwi-4-jak-wylosowac-elementy-bez-powtorzen/
https://dsp.krzaq.cc/post/180/nie-uzywaj-rand-cxx-ma-random/

1 użytkowników online, w tym zalogowanych: 0, gości: 1