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

Losowanie danych z tablicy

Ostatnio zmodyfikowano 2011-02-24 23:33
Autor Wiadomość
neke
Temat założony przez niniejszego użytkownika
Losowanie danych z tablicy
» 2011-02-24 21:59:11
Witam,

Czy orientuje się ktoś jak wylosować liczby z tablicy??
Tak sobie zacząłem coś tworzyć ale jednak nie idzie. Będę wdzięczny za pomoc.

C/C++
#include <iostream>
#include <cstdlib>
#include <ctime>

using namespace std;

losowanie( int tab[] )
{
    return( rand() % tab[] );
}

int main()
{
    int tablica[ 3 ]
   
    cout << "Podaj pierwsza liczbe " << endl;
    cin >> tablica[ 0 ];
    cout << "Podaj druga liczbe";
    cin >> tablica[ 1 ];
    cout << "Podaj trzecia liczbe";
    cin >> tablica[ 2 ];
   
    int dd = losowanie( tablica );
    cout << dd;
}
P-28580
malan
» 2011-02-24 22:06:50
1. [cpp][/cpp] zamiast [log][/log].
2. Błąd masz tutaj:
C/C++
losowanie( int tab[] )
{
    return( rand() % tab[] );
}
Dlaczego
% tab[]
? Skąd żeś to wytrzasnął? ;p

/edit:
@maciejo: To też ;p
P-28581
maciejo
» 2011-02-24 22:06:52
Wydaje mi się , że zapomniałeś o czymś takim co nazywa się srand ,a resztę zaraz zobacze i zedytuje.
/edit
:]
można chyba zrobić tak , że losujesz liczbe i potem tab[liczba] - czyż nie? :D chyba , że coś mi się myli :P chyba wiadomo o co mi chodzi :D
P-28582
szyx_yankez
» 2011-02-24 22:09:56
C/C++
int tab_size = 3;
int dd = tablica[ rand() % tab_size ];
//polecam skorzystac z vectora
?
P-28583
WiecznyWem
» 2011-02-24 22:10:05
A nie lepiej by było po prostu losować indeks tabeli?
C/C++
#include <iostream>
#include <cstdlib>
#include <ctime>

using namespace std;

int losowanie( int min, int max ) //zapomniałeś o INT
{
    return return( rand() % max ) + min;
}


int main()
{
    srand( time( 0 ) ); //zapomniałeś o tym
    int tablica[ 3 ];
   
    cout << "Podaj pierwsza liczbe " << endl;
    cin >> tablica[ 0 ];
    cout << "Podaj druga liczbe";
    cin >> tablica[ 1 ];
    cout << "Podaj trzecia liczbe";
    cin >> tablica[ 2 ];
   
    int dd = losowanie( 0, 2 ); //tutaj nie jestem pewien, czy od zera się przyjmie. Dlatego jakby nie działało, to losuj (1, 3), a potem odejmij 1;
    cout << tablice[ dd ];
}
P-28584
neke
Temat założony przez niniejszego użytkownika
» 2011-02-24 22:25:37
C/C++
#include <iostream>

int main()
{
    std::cout << "DZIEKUJE SERDECZNIE";
   
    return 0;
}
P-28588
DejaVu
» 2011-02-24 23:33:23
Po co rozwiązujecie zadanie, które jest na myślenie dla początkujących... ;/
P-28590
« 1 »
  Strona 1 z 1