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

nie zadeklarowane funkcje random i time.

Ostatnio zmodyfikowano 2017-04-08 16:51
Autor Wiadomość
shreder221
Temat założony przez niniejszego użytkownika
nie zadeklarowane funkcje random i time.
» 2017-04-08 15:27:00
Dzień Dobry :p
W skrócie mam zrobić program który korzysta z funkcji random,srandom i time. Chciałem sprawdzić czy dobrze pamiętam formułkę i wpisałem z głowy. Skompilowałem plik i wyświetlił się błąd dotyczący nie zadeklarowania powyższych funkcji. Więc wkleiłem gotowy kod którego fragmenty używaliśmy w pracowni komputerowej a na zajęciach cały kod był kompilowany do zaprezentowania nam tworzenia liczb pseudolosowych.Niestety  ponownie pojawiła się informacja o nie zadeklarowaniu tych funkcji w czym problem? Osobiście podejrzewam że używany przeze mnie kompilator nie posiada biblioteki cstdlib z drugiej strony robimy w miarę podstawowe rzeczy więc nie powino być z tym problemu. A bym zapomniał używam Dev c++

Poniżej wklejam wspomniane "gotowce"

C/C++
// Funkcja losuj do losowania liczb rzeczywistych z przedzialu [a,b]
// Wypisywanie na ekran pieciu liczb z przedzialu [0,1]

#include<iostream>
#include <cstdlib>

using namespace std;

// funkcja - losowanie liczby rzeczywistej z przedzialu [a,b]

double losuj( double a, double b ) {
    double liczba = a +(( b - a ) * random() ) / RAND_MAX;
    return liczba;
}


int main() {
   
    const int ile = 5;
   
    // Inicjalizacja funkcji losujacej (jesli chcemy
    // za kazdym razem dostawac inna sekwencje liczb)
   
    srandom( time( 0 ) );
   
    cout << "Losowanie 5 liczb rzeczywistych z przedzialu od 0 do 1" << endl;
   
    for( int i = 1; i <= ile; i++ ) {
        cout << losuj( 0., 1.) << endl;
    }
   
    return 0;
}
C/C++
// Generowanie dziesieciu kolejnych liczb losowych z danego
// przedzialu, przy uzyciu generatora liczb losowych

#include<iostream>
#include <cstdlib>

using namespace std;

int main() {
   
    const int ile = 10;
   
    cout << "time(0)= " << time( 0 ) << endl;
    cout << "RAND_MAX= " << RAND_MAX << endl;
   
    // Inicjalizacja funkcji losujacej (jesli chcemy
    // za kazdym razem dostawac inna sekwencje liczb)
   
    srandom( time( 0 ) );
   
    cout << "Losowanie z przedzialu od 0 do RAND_MAX" << endl;
   
    for( int i = 1; i <= ile; i++ ) {
        cout << random() << endl;
    }
   
    cout << "Losowanie liczb całkowitych z przedzialu od 1 do 15, pierwsza wersja" << endl;
   
    for( int i = 1; i <= ile; i++ ) {
        int liczba = 1 + random() % 15;
        cout << liczba << endl;
    }
   
    cout << "Losowanie liczb całkowitych z przedzialu od 1 do 15, druga wersja" << endl;
   
    for( int i = 1; i <= ile; i++ ) {
        int liczba = 1 +( int )(( 15.* random() ) /( RAND_MAX + 1.) );
        cout << liczba << endl;
    }
   
    cout << "Losowanie liczb rzeczywistych z przedzialu od [0,1)" << endl;
   
    for( int i = 1; i <= ile; i++ ) {
        double liczba = random() /( RAND_MAX + 1.);
        cout << liczba << endl;
    }
   
    return 0;
}

P-159984
Luq
» 2017-04-08 15:40:13
Nie
random
 i
srandom
, tylko
rand
 i
srand

Żeby użyć
time
 dołącz
#include <ctime>
P-159985
shreder221
Temat założony przez niniejszego użytkownika
» 2017-04-08 15:44:48
Okej działa. A mógłbyś wytłumaczyć dlaczego w pracowni program normalnie działał z powyższymi funkcjami?
P-159986
michal11
» 2017-04-08 16:51:17
Może jakieś niestandardowe rozszerzenie kompilatora?
P-159988
« 1 »
  Strona 1 z 1