Aplikacja do losowania liczb nie działa
Ostatnio zmodyfikowano 2016-07-18 21:08
aQua.zZz Temat założony przez niniejszego użytkownika |
Aplikacja do losowania liczb nie działa » 2016-07-18 19:39:01 Aplikacja do losowania liczb nie chce działać. Proszę o udzielenie pomocy i bardzo bardzo proszę o wytłumaczenie błędu. Chcę się uczyć. #include <iostream> #include <cstdlib>
using namespace std;
int main() { int x, y, c, numer, n = 10000; do { cout << "Podaj ilosc losowych liczb do wygenerowania :"; cin >> x; cout << "Maja to byc liczby od 0 do "; cin >> y; for( c = 1; c <= x; c++ ); { numer = rand() % y + 1; cout << numer << endl; } system( "Pause" ); system( "cls" ); } while( n < 10001 ); return 0; }
|
|
kistel66 |
» 2016-07-18 19:40:25 Dodaj bibliotekę <windows.h> i <time.h>, a na samym początku maina dodaj srand(time(NULL) i powinno działać.
@edit I jak chcesz, żeby generowało liczby od 0, to "+1" w "numer = rand() % y + 1;" jest niepotrzebne |
|
Masterpc16 |
» 2016-07-18 19:43:22 Kolego zle implementujesz funkcje losowania licz int wylosowana_liczba =( rand() % ile_liczb_w_przedziale ) + startowa_liczba;
dodatkowo jesli chcesz by za kazdym razem program losowal inne liczby to musisz dodac #include <ctime>
srand( time( NULL ) );
sorry ze bez znakow polskich ale cos mi alt nie dziala :) ps. nie musisz dodawac bibliotek ktore podal kistel66 biblioteka time.h i ctime to to samo |
|
aQua.zZz Temat założony przez niniejszego użytkownika |
» 2016-07-18 20:06:18 #include <iostream> #include <stdlib.h> #include <ctime>
using namespace std;
int main() { srand( time( NULL ) ); int x, y, c, numer, n = 10000; do { cout << "Podaj ilosc losowych liczb do wygenerowania :"; cin >> x; cout << "Maja to byc liczby od 0 do "; cin >> y; for( c = 1; c <= x; c++ ); { numer =( rand() % y ); cout << numer << endl; } system( "Pause" ); system( "cls" ); } while( n < 10001 ); return 0; }
Teraz to wygląda w ten sposób(chyba dobrze?). Dziękuję za pomoc, ale jeszcze brakuje mi, aby w życie w weszła funkcja "Podaj ilość losowych liczb do wygenerowania :". Na razie pokazuje się tylko 1 liczba, a chcę, aby się wypisywały. |
|
Masterpc16 |
» 2016-07-18 20:22:56 a wez usun to do while oraz te systemy i zobacz czy bedzie dzialac |
|
kistel66 |
» 2016-07-18 20:33:52 #include <iostream> #include <cstdlib> #include <windows.h> #include <ctime> using namespace std;
int main() { srand( time( NULL ) ); cout << "Ile liczb: "; int ile; cin >> ile; int tablica[ ile ]; cout << endl << "Zakres: "; int zakres; cin >> zakres; for( int i = 0; i < ile; i++ ) { tablica[ i ] = rand() % zakres; cout << tablica[ i ] << endl; } return 0; }
Jak chcesz kilka liczb, to tablica sprawdzi się idealnie. Przykład mój własny, ale nie wiele różni się od twojego programu |
|
carlosmay |
» 2016-07-18 20:41:25 #include <Windows.h> Nie potrzebne. cin >> ile; int tablica[ ile ];
Niezgodne ze standardem C++. |
|
kistel66 |
» 2016-07-18 20:45:08 Sprawdzałem w CodeBlocksie i mi się skompilowało bez problemu. "Bardziej poprawnie", jest na wskaźnikach, wiem, ale autor raczej ich jeszcze nie poznał. |
|
« 1 » 2 |