Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[C++] Losowanie liczb spoza podanego zakresu

Ostatnio zmodyfikowano 2012-11-23 14:18
Autor Wiadomość
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:

C/C++
#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;
}
P-69739
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:
C/C++
int Od;
int Do;

//edit:
2)Czemu wystąpił błąd?
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.
P-69741
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.
P-69746
« 1 »
  Strona 1 z 1