Avatar billede ronnywbang Nybegynder
23. marts 2008 - 16:19 Der er 11 kommentarer

Navne udtrækning

Hejsa

Jeg søger et program der kan udtrække navne fra en liste man laver.

Lige som tal udtrækning bare med navne istedet.

Nogen der kender sådan et program ?
Avatar billede arne_v Ekspert
23. marts 2008 - 16:36 #1
Du laver et array eller collection af strings som indeholder navnene og så trækker
du et tilfældigt heltal 0..antal-1 eller 1..antal og bruger det som index ind i listen.

Eller er det noget andet du vil ?
Avatar billede ronnywbang Nybegynder
23. marts 2008 - 16:40 #2
Ja nu fik jeg den vist placeret forkert =) jeg søger et program der kan gøre det jeg aner intet om programmering.

det er op til min dart klub  så vi kan trææe navne ud til turneringer
Avatar billede arne_v Ekspert
23. marts 2008 - 16:57 #3
Vi kan vel finde ud af at lave et program til dig.

Hvordan har du navnene ? En text fil med et navn per linie ?

Skal du have en alle mod alle turnering eller et cup system ?
Avatar billede ronnywbang Nybegynder
23. marts 2008 - 17:40 #4
det skal bare være så jeg kan skrive de navne ind der kommer og spiller.

og så skal de deles i puljer , men det ved jeg ikke om et program kan gøre.
Avatar billede ronnywbang Nybegynder
23. marts 2008 - 17:42 #5
min msn og mail er ronnybang@hotmail.com    hvis det er
Avatar billede jakoba Nybegynder
29. marts 2008 - 00:06 #6
Et program kan gøre noget nær hvadsomhelst. Og det kan programmører også.

MEN

Den der ønsker et program har det hårdt. Han skal nemlig fortælle præsist og udførligt hvad det program skal gøre. Og det er vi mennesker ikke vant til at skulle. Normalt giver vi blot vage og tvetydige retningsliner, og stoler så på at den person vi snakker med deler så meget af vores syn på verden, og forstår den på præcis samme måde som vi.

Det passer sjældent. Har du hørt om DORA ? Og 117 andre store dyre programmer der aldrig kom til at virke ordentligt ? Det er ikke så let at beskrive et program som det er at ønske et resultat. Slet ikke.

Nå men hvis jeg gætter en hel masse kunne det blive til nedenstående JavaScript program:

-------------- fil 1: Navnene. filen hedder "navne.js" ----------------
<!-- hvert navn skal stå på een linie.
<-  Forrest i linien skal der stå " (citationstegn) og bagerst i linien
<-  skal der også stå " efter fulgt af et komma.
<-  Den allerførste linie skal være:
<-        navneListe = new Array(
<-  Den allersidste line skal være:
<-                  "");
<-  Indimellem første og sidst linie skriver du så alle navnelinierne
<-                    "Adam Godsson",
<-                    "Eva Mansrib",
<-                    "Jesper fårekylling",
<-  osv, osv, osv.
  -->
    var navneListe = new Array(
                      "Adam Godsson",
                      "Eva Mansrib",
                      "Jesper fårekylling",
                      "Ronny W. Bang",
                      "Arne V.",
                      "Jakob A.",
                    "");
-------------- fil 1: slut ----------------

Hvis du cut&paster det der står under linien
    -------------- fil 1: Navnene. filen hedder "navne.js" ----------------
og ned til linien
    -------------- fil 1: slut ----------------
(Bemærk: de to ------... linier skal IKKE med.)
over i din computers indbyggede .txt editor (den hedder notepad.exe, og kommer automatisk med alle versioner af windows. brug evt søg funktionen for at finde den)
og så derefter vælger "gem som ..." i "file" menuen kan du gemme den på din computer. (husk at filen skal have navnet "navne.js")

Den anden fil du skal have lavet er en HTML side med et lille JavaScript program:

-------------- fil 2: Programmet. filen hedder "puljer.html" ----------------
<HTML>
<head><title>"Ronnys puljeudtager"</title>
</head>
<body>
<script type="text/javascript" src="navne.js"></script>
<script>

var antalPuljer;
var antalNavne;
var i, j;

if (!navneListe) {
    alert( "der er noget galt med filen 'navne.js'.\r\nProgrammet afslutter uden resultat." );
} else {
    antalNavne = navneListe.length - 1;
    do {
        antalPuljer = prompt( "Hvor mange puljer skal der være ?" );
        antalPuljer = parseInt( antalPuljer, 10 );
        if (antal-puljer <= 1) {
            alert( "Der skal indtastes et tal større end 1\r\nPrøv igen" );
    } while (antal-puljer <= 1);
    if (2*antalNavne < antalPuljer) {
        alert( "så mange puljer kan du ikke lave med kun " +antalNavne +"navne.\r\nProgrammet afslutter uden resultat." );
    } else {
        var puljer = new Array();
        for (i=0; i<antalPuljer; i++) {
            puljer[i] = new Array();
        }
        i = 0;
        j = 0;
        while ( antalNavne>0 ) {
            puljer[i][j] = udtrekNavn()
            if ( ++i >= antalPuljer ) {
                i = 0;
                j++;
            }
        }
        for (i=1; i<=antalPuljer; i++) {
            document.writeln( "Pulje " +i +" består af:" );
            for (j=1; j<=pulje[i-1].length; j++) {
                document.writeln( j +pulje[i-1][j-1] );
            }
            document.writeln();
        }
    }
}

function udtrekNavn() {
    valgt = Math.floor( antalNavne * Math.random() );
    var temp = navneListe[ valgt ];
    navneListe[ valgt ] = navneListe[ --antalNavne ];
    return temp;
} //end udtrekNavn () -> string;

</script>

<p>Ovenfor skulle der nu stå den ønskede puljefordeling. cut&paste den over i Word eller en anden editor, så du kan udskrive den pænt.
</body>
</html>
-------------- fil 2: slut ----------------

Ligesom før gemmer du alt efter første og før anden -----... linie.
vigtigt! de to filer skal gemmes i samme mappe

og nu kan du så gå ind i den mappe og klikke på filen puljer.html, så åbner din browser og udskriver puljer dannet udfra din liste.
Avatar billede jakoba Nybegynder
29. marts 2008 - 00:23 #7
Ups. jeg glemte at HTML skriver alt i een lang linie hvs ikke man selv sørger for at skifte linie.
Så den sidste for løkke i programmet skal ændres til

        for (i=1; i<=antalPuljer; i++) {
            document.writeln( "Pulje " +i +" består af:<br>" );
            for (j=1; j<=pulje[i-1].length; j++) {
                document.writeln( j +": " +pulje[i-1][j-1] +"<br>" );
            }
            document.writeln();
        }
Avatar billede ronnywbang Nybegynder
29. marts 2008 - 10:38 #8
Hejsa jakoba

tusinde tak for hjælpen.

Jeg har gemt de 2 filer , den sidste som html.

jeg får kun denne linie :
Ovenfor skulle der nu stå den ønskede puljefordeling. cut&paste den over i Word eller en anden editor, så du kan udskrive den pænt.

har det noget at gøre med den linie der skulle byttes ud at gøre , jeg syntes det ser rigtigt nok ud, det jeg har lavet ?
Avatar billede jakoba Nybegynder
31. marts 2008 - 04:29 #9
Hvem ved. Kan du lægge de to filer på nettet et sted så jeg kan kikke på det.

PS: take for brev. men nej tak. spørgsmål her besvares kun her.
Avatar billede ronnywbang Nybegynder
31. marts 2008 - 15:23 #10
Kan jeg ikke sende dem pr mail ?
Avatar billede ronnywbang Nybegynder
31. marts 2008 - 15:25 #11
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
Kurser inden for grundlæggende programmering

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