da sie zrobic tak zeby liczby losowe nie powtarzaly sie jak tak to jak?
0
0
Nie da się, bo są losowe ;]
Możesz sprawdzać czy ci się powtórzyła i losować jeszcze raz, innej metody nie ma.
0
w jaki sposob?
0
Wrzucaj do seta każdą wylosowaną liczbę. Jeżeli chcesz jakaś wylosować to losujesz dopóki nie trafi Ci się taka której nie ma w secie.
0
#include <set>
#include <iostream>
#include <cstdlib>
using namespace std;
set<int> S;
int losuj(int zakres)
{
int los=-1;
while(S.find(los) !=S.end())
los = rand()%zakres;
S.insert(los);
return los;
}
int main()
{
S.insert(-1);
int zakres,liczba;
cin >> zakres >> liczba;
srand(time(NULL));
if(!(liczba > zakres))
for(int i=0;i<liczba;++i)
cout << losuj(zakres) << endl;
return 0;
}
0
nie dziala :/
0
To podaj może czemu nie działa? Błąd kompilacji, czy źle się wykonuje?
0
urochomi sie i wczytuje pierwsza liczbe, druga i koniec.. wylacza mi sie..
0
Pewnie ci się okno zamyka. Sorry, ale to jakby podstawy... uruchamiaj spod konsoli, albo dodaj getch() na końcu..
0
co prawda to dopiero sie ucze.. ale bez przesady wiem jak zatrzymac program ale i tak nic nie wyswietla sie..
0
A mi magicznie działa. Zauważ, że pierwsza wprowadzona liczba ma być większa lub równa drugiej.