Avatar billede boxer Praktikant
01. september 2007 - 08:38 Der er 11 kommentarer og
1 løsning

Lotteri program/script søges

Hej

Jeg skal bruge et program/script der kan trække et tilfældigt tal. Altså et slags lotteri.

Der skal være mulighed for selv at kunne indtaste et tal, f.eks. 200
Programmet skal så trække et tal mellem 0 og 200

Det er selvfølgelig vigtigt at alle tal har lige store chancer for at blive trukket.

mvh
Boxer
Avatar billede borrisholt Novice
01. september 2007 - 11:51 #1
Er det det hele ? Bare en exe fil, med source, der trækket tilfældige taæ mellem 0 og 200, hvis du har tastet 200 ?

Jens B
Avatar billede boxer Praktikant
01. september 2007 - 13:34 #2
Ja, det er det hele :o)
Det behøver ikke være noget indviklet med grafisk brugerflade.
Avatar billede borrisholt Novice
01. september 2007 - 13:37 #3
Jammen .... Hvis du generere et tilfældigt tal mellem [0 og 200[ resikerer du jo at få det samme tal to gange er det ikke er problem...

Jeg kan skrive dig et program der lister 200 tilfældige tal mellem [0 og 200[ 200 er selvfølgeligt en parameter !?!

Jens B
Avatar billede boxer Praktikant
01. september 2007 - 13:42 #4
Det kan du have ret i, men så må jeg jo lave en omtrækning indtil der kommer et nummer der ikke er trukket før.

Men jeg skal kunne skrive en maxværdi ind som f.eks 200 eller 266
Avatar billede boxer Praktikant
05. september 2007 - 23:00 #5
Mangler stadig et lotteri script/program hvis der er nogen der kender et.
Avatar billede arne_v Ekspert
06. september 2007 - 03:13 #6
Nu skriver du jo ikke sprog, men her er noget PHP kode:

<?php
function draw($n, $min, $max) {
    $nums = array();
    while(count($nums) < $n) {
        $v = mt_rand($min, $max);
        if(!in_array($v, $nums)) {
            $nums[] = $v;
        }
    }
    sort($nums);
    foreach($nums as $v) {
        echo " " . $v;
    }
}
draw(10,1,100);
?>
Avatar billede arne_v Ekspert
06. september 2007 - 03:15 #7
Og lad mig understrege kraftigt at: DETTE ER IKKE MÅDEN MAN LAVER EN MASKINEL LOTTO TRÆKNING PÅ

Resultatet er bestemt af tidspunktet for kørsel.

Men derfor kan det måske være OK til dit brug alligevel.
Avatar billede boxer Praktikant
06. september 2007 - 07:50 #8
Hej Arne_v

Det virker som det skal. Men kan det laves så jeg ikke skal ind og rette php filen manuelt hver gang og uploade den?

Trækningen vil være forskellig fra gang til gang og der skal kun trækkes 1 tal af gangen. Jeg forestiller mig at jeg kan indtaste et "fra" og "til" tal og klikker på en knap hvorefter der popper et tilfældigt tal op.
Avatar billede arne_v Ekspert
07. september 2007 - 02:38 #9
Du kan jo lave en form som submitter til et PHP script, hvor formen så har
felter med de 3 parametre.

Du kan godt tilføje et nummer af gangen.
Avatar billede arne_v Ekspert
07. september 2007 - 03:10 #10
<?php
if(isset($_POST['n'])) {
    $n = $_POST['n'];
    $min = $_POST['min'];
    $max = $_POST['max'];
    if(isset($_POST['nums'])) {
        $nums = explode(",", $_POST['nums']);
    } else {
        $nums = array();
    }
    if(count($nums) < $n) {
        do {
            $v = mt_rand($min, $max);
        } while(in_array($v, $nums));
        $nums[] = $v;
    } else {
        sort($nums);
    }
    echo implode(" ", $nums);
    $nums_str = implode(",", $nums);
    echo "<form method='post'>\n";
    echo "<input type='hidden' name='n' value='$n'>\n";
    echo "<input type='hidden' name='min' value='$min'>\n";
    echo "<input type='hidden' name='max' value='$max'>\n";
    echo "<input type='hidden' name='nums' value='$nums_str'>\n";
    echo "<input type='submit' value='GO'>\n";
} else {
    echo "<form method='post'>\n";
    echo "Antal tal : <input type='text' name='n'><br>\n";
    echo "Min tal : <input type='text' name='min'><br>\n";
    echo "Max tal : <input type='text' name='max'><br>\n";
    echo "<input type='submit' value='GO'>\n";
}
?>
Avatar billede boxer Praktikant
07. september 2007 - 07:54 #11
Tak, Arne

Det var lige hvad jeg skulle bruge.
Smid et svar.
Avatar billede arne_v Ekspert
07. september 2007 - 14:06 #12
svar
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester

IT-JOB

Forsvarsministeriets Materiel- og Indkøbsstyrelse

Senior Data Engineers til dataplatform i Forsvaret

Politiets Efterretningstjeneste

PET søger softwareingeniører til Ruslandsområdet

Riskpoint A/S (Riskpoint Solutions Limited)

IT Business Analyst