Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Generisanje slucajnih brojeva

[es] :: C/C++ programiranje :: Generisanje slucajnih brojeva

[ Pregleda: 4486 | Odgovora: 2 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Laki_s
Sreten Tanackovic
Subotica

Član broj: 166303
Poruke: 4
*.sksyu.net.



Profil

icon Generisanje slucajnih brojeva15.12.2007. u 14:55 - pre 198 meseci
Napravio sam program-igricu u C-u.To je jedna slagalica koja slaze brojeve od 1-8 stim da je se na kraju nalazi 0:
(1 2 3
4 5 6
7 8 0). Problem je u tome da ne mogu da napisem generator slucajnih brojeva koji bi mi pri pokretanju popunio ovaj niz. Ja sam napravio nesto slicno,ali svaki put pri pokretanju mi ispise isti redosled brojeva.
 
Odgovor na temu

X Files
Vladimir Stefanovic
Pozarevac

SuperModerator
Član broj: 15100
Poruke: 4901
*.dynamic.sbb.co.yu.

Jabber: xfiles@elitesecurity.org


+638 Profil

icon Re: Generisanje slucajnih brojeva15.12.2007. u 15:56 - pre 198 meseci
Citat:

Ja sam napravio nesto slicno,ali svaki put pri pokretanju mi ispise isti redosled brojeva.

Molim Vas da uvek postavite minimalan kod koji dokazuje tvdnju ili niz koraka koji dovode do problema.
Kada se samo izjavi da nešto ne radi, to ništa ne govori o problemu. Potrebno je ostaviti i konkretne detalje. Tek tada se nešto korisno može prodiskutovati o razlozima, a ovako se sve svodi uglavnom na obično nagađanje.

Hvala na razumevanju i srećan rad.

Ako ti je potrebano mesanje brojeva bez ponavljanja, pogledaj na netu Google: "c random shuffle".

Ili otprilike ovako:
Code:

#include <stdio.h>
#include <stdlib.h>
#define BROJ_ELEMENATA 10
int main(int argc, char *argv[])
{
   /* za for petlju */
   int i;

   /* za mesanje */
   int r,temp;
   
   /* niz koji se mesa */
   int slagalica[BROJ_ELEMENATA];

   /* inicijalizacija */
   srand( time( 0 ) );

   /* dodela brojeva po redu */
   for ( i=0; i<BROJ_ELEMENATA; i++ )
      slagalica[i] = i;

   /* mesanje */ 
   for ( i=0; i<BROJ_ELEMENATA-1; i++ )
   {
      r = i + ( rand() % ( BROJ_ELEMENATA - i ) );
      temp = slagalica[i];
      slagalica[i] = slagalica[r];
      slagalica[r] = temp;
   }

   /* ispis/provera */
   for ( i=0; i<BROJ_ELEMENATA; i++ )
      printf( "%d\n", slagalica[i] );
  
   system("PAUSE");    
   return 0;
}

Ti naravno treba da obezbedis nizu brojeve od 1 do 8, itd...
 
Odgovor na temu

Laki_s
Sreten Tanackovic
Subotica

Član broj: 166303
Poruke: 4
*.sksyu.net.



Profil

icon Re: Generisanje slucajnih brojeva16.12.2007. u 18:11 - pre 198 meseci
Hvala,uspeo sam.
 
Odgovor na temu

[es] :: C/C++ programiranje :: Generisanje slucajnih brojeva

[ Pregleda: 4486 | Odgovora: 2 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.