adao1003
(adao1003)
19 Kwiecień 2012 16:13
#1
Mam taki program :
#include
#include
#include
using namespace std;
bool pentla;
int main()
{
int a, b, llos;
cout << "Podaj zakres od: ";
cin >> a;
cout << "do:";
cin >> b;
cout << endl << "Liczba losowań:";
cin >> llos;
int* tab = new int [llos];
int war = llos;
llos = 0;
for (int i=0; i
{
skok:
srand( time( NULL ) );
int liczba = (rand() % a) + b;
int wa = llos;
while (wa >= 0)
{
if (liczba == tab[wa])
{
goto skok;
}
wa--;
}
cout << liczba;
tab[llos] = liczba;
llos++;
}
}
Co jest w nim nie tak nie zeruje się??
braciszek
(braciszek)
19 Kwiecień 2012 16:16
#2
jeśli się nie mylę, srand powinno się raz wywoływać, Ty zaś wywołujesz go w każdym przebiegu pętli - umieść go przed pętlą
system
(system)
19 Kwiecień 2012 16:50
#4
cout << "Podaj zakres od: ";
cin >> a;
cout << "do:";
cin >> b;
srand( time( NULL ) );
int liczba;
for(unsigned int i = 0; i < 100; ++i){
liczba = (rand() % b) + a;
cout << liczba << endl;
}
Chyba o takie coś się Tobie rozchodzi. Raczej powstrzymałbym się od używania instrukcji skoku. Dalej już na pewno sobie poradzisz
adao1003
(adao1003)
19 Kwiecień 2012 16:56
#5
Próbowałem dawać przed pętle i chobym tam wpisał 10000 też wszystkie liczby są takie same. a wogule to ma losować kilka liczb bez powtórzeń Co można wpisać w srand zamiast time (NULL) i co to robi??
system
(system)
19 Kwiecień 2012 17:01
#6
Moim zdaniem trochę dziwnie to robisz. Masz zadeklarowaną dynamiczną tablicę natomiast wolisz wczytywać int liczba;
adao1003
(adao1003)
19 Kwiecień 2012 17:04
#7
Dobra już działa pomytiłem w rand że najpierw na być zakres górny a potem dolny. Dzieki