Losowanie liczb z danej tablicy

0

Witam wszystkich,
mam taki oto problem, mam ręcznie wypełnioną tablicę 10-elementową cyframi od 0 do 9 np.

int tablica[10];
int i;
for(i=0; i<10; i++);
{
     tablica[i] = i;

i chciałbym teraz aby funkcja rand wylosowała mi np. 1 liczbę z tej tablicy.
Nie wiem jak ją do tego zmusić, wiem że aby rand losowała z danego zakresu np. od 0 do 9 napiszę tak:

srand((time)NULL)
wylosowana=rand() % 10;

ale jak w miejsce zakresu wpisać moją tablicę?

2

srand(time(0)) i tablica[wylosowana].

0

Nie bardzo rozumiem, gdzie tu jest funkcja rand i jak losuje i co w przypadku gdy będę chciał wylosować więcej liczb np. 4?

1

OMG chłopie, ogarnij się. @Rev napisał ci dwie rzeczy:

  • poprawił to co masz w srand()
  • napisał ci jak wyciągnąć z tablicy tablica element o indeksie który wylosowałeś
    Czego jeszcze chcesz?
0

Rozumiem jak wyciągnąć liczbę z indeksu, ale ja właśnie nie wiem jak ją wylosować z tej tablicy o danym rozmiarze tzn. jak funkcja rand ma wylosować z tablicy indeks cyfry???????? Zakresem dla funkcji rand są właśnie cyfry znajdujące się w danej tablicy o ustalonym rozmiarze. Jak to zapisać żeby zadziałało?

 
wylosowana = rand() % tablica[10]

tak nie działa, więc jak?
A może coś takiego:

 
//n - rozmiar tablicy
// tab - tablica
srand(time(0))
int wylosowana = tab[rand() % n];

Czy w tym przypadku wylosuje liczbę czy indeks z tablicy czy nadal jest źle?

0

Wylosuje Ci liczbę, którą wstawiasz jako indeks tablicy, co z kolei wstawi do 'wylosowana' liczbę znajdującą się pod wylosowanym indeksem w tablicy. Czyli to drugie masz ok. ZGADUJESZ jednak zamiast POMYŚLEĆ. Skup się.

0

Dziękuję za pomoc, nie jestem biegłym programistą a to jest program na zaliczenie i stąd pewne braki,

Dziękuję i pozdrawiam

1 użytkowników online, w tym zalogowanych: 0, gości: 1