[C++] bingo problem

C, C++, Java, PHP, Ruby...

Moderator/ica: Moderatori/ce

Pravila foruma
U naslovu teme unutar uglatih zagrada navesti o kojem jeziku je riječ. Primjer: [Java]
bajro17
Postovi: 91
Pridružen/a: 08 lip 2011, 15:47
Spol: M
OS: Linux Backtrack 5 KDE
Lokacija: BIH, Tomislavgrad

[C++] bingo problem

Post Postao/la bajro17 »

zanima me mozel pomoc posto pravim (zapravo pokusavam napraviti bingo u c++) pa me sada zanima znaci kad pohranim 38 brojeva u niz (a bingo je 6/38 a ukupno je brojeva 49) kako da provjerim ponavljaju li se isti brojevi u nizu nikako nemogu da to sredim pa molim za pomoc
Avatar
pootzko
Postovi: 816
Pridružen/a: 13 lis 2008, 21:15
Spol: M
OS: Arch GNU/Linux + KDE
Lokacija: Nerdvana
Kontakt:

Re: bingo problem

Post Postao/la pootzko »

2 ideje otprilike:

1. sortiraj niz i onda provjeri svaka dva susjedna jesu različita

Kod: Označi sve

//ovdje iskoristi neki sort, svejedno koji, nađi neki na netu pa implementiraj, recimo bubble
sort(niz); 

for (i=0; i<n-1; i++) {
    if (V[i] == V[i+1])
        // broj vec postoji u nizu, radi sto vec zelis
}
2. koristi dvostruku petlju i provjeravaj redom da li taj broj postoji negdje kasnije u nizu

Kod: Označi sve

for (i=0; i<n-1; i++) {
    for (j=i; j<n; j++) {
        if (V[i] == V[j])
            // broj vec postoji u nizu, radi sto vec zelis
    }
}
...I put on my robe and a wizard hat...
Avatar
jasox
Postovi: 324
Pridružen/a: 30 kol 2011, 04:14

Re: bingo problem

Post Postao/la jasox »

bajro17 evo jedna moj stari kod, iako nije efficient mozda ti pomogne

Kod: Označi sve

void randomSpil(karte randSpil[])
{
	int brojac = 0,provjera;
	for(int i=0; i<52; i++)  //random spil
	{
		do{
			brojac = 0;
			provjera = rand()%52;
			for(int j=0; j<52; j++)
				if(provjera == randSpil[j].brKarte)
					brojac ++;
		}while(brojac != 0);
		randSpil[i] = karta[provjera];
	}
}
Nije sloboda radit ono sto hoces, nego da ne radit ono sto neces.
Avatar
nicky
Site Admin
Postovi: 2074
Pridružen/a: 07 pro 2007, 16:30
Spol: Ž
OS: ubuntu 12.04
Lokacija: Zagreb

Re: [C++] bingo problem

Post Postao/la nicky »

Kod: Označi sve

int i;
int count = 0;
char niz[49]; 

for(i = 0;i < 49;i++)
   niz[i] = 0;

for(;;)
    {
    if(count == 38) 
         break;
    rand_broj = rand()%49 + 1; 
    if(!niz[rand_broj - 1])
          {
          niz[rand_broj - 1] = rand_broj;
          count++;
          }
    }
//tu još ide izbacivanje nula iz niz[49] ako treba, npr prepisivanje u novo polje
Avatar
jasox
Postovi: 324
Pridružen/a: 30 kol 2011, 04:14

Re: [C++] bingo problem

Post Postao/la jasox »

nicky je napisao/la:

Kod: Označi sve

int i;
int count = 0;
char niz[49]; 

for(i = 0;i < 49;i++)
   niz[i] = 0;

for(;;)
    {
    if(count == 38) 
         break;
    rand_broj = rand()%49 + 1; 
    if(!niz[rand_broj - 1])
          {
          niz[rand_broj - 1] = rand_broj;
          count++;
          }
    }
//tu još ide izbacivanje nula iz niz[49] ako treba, npr prepisivanje u novo polje
Ali ponavljat ce ti se brojevi u nizu.
Nije sloboda radit ono sto hoces, nego da ne radit ono sto neces.
Avatar
nicky
Site Admin
Postovi: 2074
Pridružen/a: 07 pro 2007, 16:30
Spol: Ž
OS: ubuntu 12.04
Lokacija: Zagreb

Re: [C++] bingo problem

Post Postao/la nicky »

Kako?

Osim ako nešto nisam previdjela, jedan index u nizu može biti zapisan samo jednom a isti broj se ne može naći na dva indexa u nizu.
Avatar
jasox
Postovi: 324
Pridružen/a: 30 kol 2011, 04:14

Re: [C++] bingo problem

Post Postao/la jasox »

nicky je napisao/la:Kako?

Osim ako nešto nisam previdjela, jedan index u nizu može biti zapisan samo jednom a isti broj se ne može naći na dva indexa u nizu.
Skonto, izvini ;)
Nije sloboda radit ono sto hoces, nego da ne radit ono sto neces.
bajro17
Postovi: 91
Pridružen/a: 08 lip 2011, 15:47
Spol: M
OS: Linux Backtrack 5 KDE
Lokacija: BIH, Tomislavgrad

Re: [C++] bingo problem

Post Postao/la bajro17 »

hvala pomoglo je samo zelim da napravim program koji ce da mi provjeri vjerovatnost da dobijem bez namjestanja
Avatar
jjj
Postovi: 1451
Pridružen/a: 04 lip 2009, 00:46
OS: Nepu Yvahk
Lokacija: Classyfied

Re: [C++] bingo problem

Post Postao/la jjj »

bajro17 je napisao/la:hvala pomoglo je samo zelim da napravim program koji ce da mi provjeri vjerovatnost da dobijem bez namjestanja
Zašto ti treba program za to? szbunjen
Avatar
nicky
Site Admin
Postovi: 2074
Pridružen/a: 07 pro 2007, 16:30
Spol: Ž
OS: ubuntu 12.04
Lokacija: Zagreb

Re: [C++] bingo problem

Post Postao/la nicky »

Vjerojatnost za dobitak na lotu 6/45 je
1/ukupni_broj_kombinacija
Broj kombinacija je 45 povrh 6, tj 45!/(6!*39!)
A 45! = 45*44*43*42*41*40*......3*2*1
Ukupno je vise od 8.500.000 kombinacija.

Neznam pravila za bingo, al se vjerojatnost racuna na isti nacin.
Odgovori