Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 2 odgovora
  • 5.740 pregleda

Najnovija ↓

Generisanje slucajnih brojeva 15.12.2007. u 15:55 · pre 229 meseci #1
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.
Re: Generisanje slucajnih brojeva 15.12.2007. u 16:56 · pre 229 meseci #2
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...
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme