> Jeg kan strække mig til noget pseudocode.
> funktion ti_tilfældige_tal
> var tal1 - 10 file://ti variabler til at holde talværdierne
> var nyttal file://en temp variabel til at holde et nyt tal
> nyttal = random(100) file://vælg et tilfældigt tal fra 1 til 100
> tal1=nyttal
> nyttal = random(100)
> while(nyttal==tal1) file://Er tallet trukket før
> nyttal = random(100) file://så træk et nyt
> tal2=nyttal
> nyttal = random(100)
> while(nyttal==tal1 eller nyttal==tal2) file://Er tallet trukket før
> nyttal = random(100) file://så træk et nyt
> tal3=nyttal
> osv.
> osv.
>
> Regards Jens Peter Karlsen. Microsoft MVP - Frontpage.
Det er næppe kode-optimering, der har givet dig din MVP?!
Desuden er din brug af while i din pseudo-kode en anelse minimalistisk.
Måske et ARRAY var en lille smule mere fleksibelt?
Måske noget ala: (psuedo)
begin
a = 10 antal tal, der skal udtrækkes / vælges mellem
picked = array[a] picked[x]=1: x er blevet brugt/valgt
picked[x]=0: x er ikke blevet brugt/valgt
result = array[a] array indeholdende vores tilfælde tal mellem 1
og a
for x = 1 to a
y = random(a) y vælges som et tal mellem 1 og a
while picked[y]==1 det antages at y allerede er brugt én gang, og
såfremt det er tilfældet
y=random(a) vælges et nyt tal, ellers bruger vi y
wend
picked[y]=1 vi sætter et flag for, at y nu ER brugt/valgt
result[x]=y vi tilføjer y til vores resultatrække
next
end
....med mindre jeg stadig er fuld af jule-øl, burde dette give et array af
størrelsen 10 indeholdende tallene 1 til 10 netop én gang hver.
--
Med venlig hilsen
Kim Jensen
____________________________________________
litewerx.com // kelvin8.com // newscaster.dk