[C++] Losowanie liczb spoza podanego zakresu
Ostatnio zmodyfikowano 2012-11-23 14:18
MCedrik Temat założony przez niniejszego użytkownika |
[C++] Losowanie liczb spoza podanego zakresu » 2012-11-23 09:10:39 Witam. Chcę napisać program, który wylosuje mi daną ilość liczb z danego przedziału. Ilość losowań jest w porządku, ale losuje mi liczby zupełnie nie z podanego przedziału. 1)Jak można to naprawić? 2)Czemu wystąpił błąd? Podaję kod programu: #include<iostream> #include<cstdlib> #include<ctime>
int main() { srand( time( NULL ) ); int i; int liczba; std::cout << "podaj ilosc wypisanych liczb: "; std::cin >> liczba; std::cout << std::endl; std::cout << "Podaj zakres losowania: \nOd:"; int Od; std::cin >> Od; std::cout << "\nDo: "; int Do; std::cin >> Do; int zakres; zakres =( Do - Od ); std::cout << "zakres=" << zakres << std::endl; for( i = 1; i <= liczba; i++ ) { int Od; int Do; int los; los =(( rand() % zakres ) + Od ); std::cout << "Wypisano liczbe numer: " << i << std::endl; std::cout << "Jest to liczba: " << los << std::endl; std::cout << "_____________________________________" << std::endl; } return 0; } |
|
xevuel |
» 2012-11-23 09:30:49 Dodaj sobie do flag kompilowania -Wall i czytaj logi kompilacji, a będziesz wiedział o co chodzi. Wywal ten fragment: //edit: Czemu? Tworzysz zmienną w pętli for o tej samej nazwie co ta utworzona bezpośrednio w main(), więc używając tej zmiennej w pętli for nie masz dostępu do danych, które zostały wczytane poza pętlą. Mimo tej samej nazwy, są to dwie różne zmienne. |
|
MCedrik Temat założony przez niniejszego użytkownika |
» 2012-11-23 14:18:34 Dzięki za pomoc! Wszystko już działa jak trzeba. |
|
« 1 » |