Java - naplneni pole čísly

Místo pro dotazy a rady ohledně programovacích jazyků (C++, C#, PHP, ASP, Javascript, VBS..) a tvorby webových stránek

Moderátor: Mods_senior

Uživatelský avatar
GarGy
Level 3
Level 3
Příspěvky: 520
Registrován: březen 09
Pohlaví: Muž
Stav:
Offline
Kontakt:

Java - naplneni pole čísly

Příspěvekod GarGy » 29 dub 2011 13:18

potřeobal bych poradit , nevím si rady jak přes random naplnit pole cisly , pricemz vzdy 2 budou stejna (pexeso)

Reklama
Uživatelský avatar
faraon
Master Level 8.5
Master Level 8.5
Příspěvky: 7397
Registrován: prosinec 10
Pohlaví: Muž
Stav:
Offline

Re: Java - naplneni pole čísly

Příspěvekod faraon » 29 dub 2011 17:20

Je to sice v Céčku (protože Javu neumím), ale syntaxe vypadá dost podobně, takže bys ty smyčky měl bez problémů rozluštit:

Kód: Vybrat vše

/*** zamíchání karet pro pexeso ***/

#include <stdio.h>
#include <stdlib.h>
#include <time.h>

/* zadává se pouze počet dvojic! */
#define POCET_DVOJIC 16
#define POCET_KARET POCET_DVOJIC*2

int main(void)
    {
    int balicek[POCET_KARET],karta,pocet,i,j;

    /*** míchání karet ***/
    srand(time(NULL));
    for (i=0;i<POCET_KARET;++i)
        {
        do {
           /* vylosování karty */
           karta=rand() % POCET_DVOJIC;
           /* kontrola kolikrát už ve zpracované části balíčku je */
           pocet=0;
           for (j=0;j<=i;++j)
               if (karta==balicek[j])
                  ++pocet;
           } while (pocet>=2);
           /* losování se opakuje dokud není počet menší než 2 */
        balicek[i]=karta;
        }

    /*** výpis balíčku ***/
    for (i=0;i<POCET_KARET;++i)
        {
        printf("%d\t%d\n",i,balicek[i]);
        }

    return 0;
    }


srand() - nastavení seedu aby sekvence nebyla pokaždé stejná
rand() - generování náhodného čísla
balíček - pořadí 0 až 31
karty - 0 až 15

To opakované losování karty není úplně optimální, protože ke konci balíčku může trvat dost dlouho. Ale protože těch karet je jen pár desítek, tak se to dá skousnout, horší by bylo kdyby jich byl milion... Můžeš zkusit vymyslet jak to udělat lépe ;-)
"Král Lávra má dlouhé oslí uši, král je ušatec!

(pravil K. H. Borovský o cenzuře internetu)

Uživatelský avatar
CZechBoY
Master Level 9.5
Master Level 9.5
Příspěvky: 8813
Registrován: srpen 08
Bydliště: Brno
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: Java - naplneni pole čísly

Příspěvekod CZechBoY » 29 dub 2011 20:31

v C# 4.0 bych dal to prohledavani pres Parallel.ForEach nebo jednoduse pres Array.IndexOf - ten si s tim uz nejak poradi ;-)
PHP, Nette, MySQL, C#, TypeScript, Python
IntelliJ Idea, Docker, Opera browser, Linux Mint
iPhone XS
Raspberry PI 3 (KODI, Raspbian)
XBox One S, PS 4, nVidia GeForce NOW


Zpět na “Programování a tvorba webu”

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 7 hostů