Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Kasta om en array

Postades av 2005-06-08 01:45:44 - Christian Ranebäck, i forum asp - allmänt, Tråden har 8 Kommentarer och lästs av 461 personer

Om jag har arrayen
speakup(5)

Hur blandar jag om dem. Asså slumpartat omblanding om man säger så.


Svara

Sv: Kasta om en array

Postades av 2005-06-08 11:22:29 - Björn Österman

Hej Christian

Skrev ihop en funktion ifrån huvet. Det var också länge sedan jag proggade ASP så det lär vara massor av syntax-fel, och säkert en del off-by-one-buggar etc.

Men det är en start iaf

<code>

MyNewArray = KaosMyArray( speakup )

Function KaosMyArray(origArray)

Randomize()
Dim newArray
newArray = Array( UBound(origArray) )

For I = 1 to UBound(origArray)
rIndex = Random( UBound(origArray) - I ) + I
newArray(I) = origArray(rIndex)
origArray(rIndex) = origArray(I)
Next

KaosMyArray = newArray

End Function
</code>

Hoppas det hjälper

// MvH Björne


Svara

Sv:Kasta om en array

Postades av 2005-06-08 13:57:25 - Björn Österman

Fick lite tid över att fixa ett fungerande exempel:
<code>
<%
Dim speakup(5)
for a = 1 to UBound(speakup)
speakup(a) = 100 + a
next

Response.Write "Före<br />"
PrintMyArray(speakup)

newSpeakup = KaosMyArray( speakup )

Response.Write "<br />Efter<br />"
PrintMyArray(newSpeakup)


Function KaosMyArray(origArray)

Randomize()
size = UBound(origArray)
Dim newArray()
ReDim newArray(size)

For I = 1 to size
rIndex = Fix(Rnd*(size-I+1)+1)
newArray(I) = origArray(rIndex)
origArray(rIndex) = origArray(size-I+1)
Next

KaosMyArray = newArray

End Function

Sub PrintMyArray(myArray)
For a = 1 to UBound(myArray)
Response.Write myArray(a) & "<br />"
next
End Sub
%>
</code>

// MvH Björne


Svara

Sv: Kasta om en array

Postades av 2005-06-08 16:19:36 - Christian Ranebäck

Jag får Type missmatch om jag skriver
speakup = KaosMyArray(speakup)

Varför får jag det?


Svara

Sv:Kasta om en array

Postades av 2005-06-08 16:48:00 - Björn Österman

Vet faktiskt inte, det kanske finns någon smart som kan svara på det.

Annars kan du ju skippa funktionen, som så här:

<%
Dim speakup(5)
for a = 1 to UBound(speakup)
   speakup(a) = 100 + a
next

Response.Write "Före<br />"
PrintMyArray(speakup)

Randomize()
size = UBound(speakup)

For I = 1 to size
  rIndex = Fix(Rnd*(size-I+1)+I)
  
  If Not rIndex = I Then
	 tmp = speakup(I)
	 speakup(I) = speakup(rIndex)
	 speakup(rIndex) = tmp
  End If
Next

Response.Write "<br />Efter<br />"
PrintMyArray(speakup)
 

Sub PrintMyArray(myArray)
   for a = 1 to UBound(myArray)
      Response.Write myArray(a) & "<br />"
   next
End Sub
%>


// MvH Björne


Svara

Sv: Kasta om en array

Postades av 2005-06-08 22:02:22 - Christian Ranebäck

Oki nu fungerar det NÄSTAN, konstigt fel nu.. jag testade å skrev såhär..


speakup(0)="1"
speakup(1)="2"
speakup(2)="3"
speakup(3)="4"
speakup(4)="5"

Randomize()
size = UBound(speakup)

For I = 1 to size
  rIndex = Fix(Rnd*(size-I+1)+I)
  If Not rIndex = I Then
 tmp = speakup(I)
 speakup(I) = speakup(rIndex)
 speakup(rIndex) = tmp
  End If
Next

men en av dem försvinner alltid, asså den blir tom ("")... och "1" kommer alltid först.

Kan man lösa detta?


Svara

Sv:Kasta om en array

Postades av 2005-06-08 22:04:51 - Christian Ranebäck

Löste fel 1
hade
dim speakup(5) ändrade till 4 så funkade det... men nu ska jag fixa så den slumpar första oxå, men det klarar jag nog av...


Svara

Sv: Kasta om en array

Postades av 2005-06-08 22:26:17 - Björn Österman

Ah, jag tänkte mig att arrayen började på 1 när jag gjorde exemplet.

Dim speakup(4)
speakup(0)="1"
speakup(1)="2"
speakup(2)="3"
speakup(3)="4"
speakup(4)="5"

Randomize()
size = UBound(speakup) - LBound(speakup) +1

For I = LBound(speakup) to UBound(speakup)
  rIndex = Fix(Rnd*(size-I)+I)
  If Not rIndex = I Then
    tmp = speakup(I)
    speakup(I) = speakup(rIndex)
    speakup(rIndex) = tmp
  End If
Next


// MvH Björne


Svara

Sv:Kasta om en array

Postades av 2005-06-08 22:49:09 - Christian Ranebäck

kom på det själv :) men tack för all hjälp ändå, Nu har jag en fin funktion på sidan :)


Svara

Nyligen

  • 09:09 Vill du köpa medicinska tester?
  • 12:47 Vem beviljar assistansen – kommune
  • 14:17 Någon med erfarenhet av hemstädnin
  • 14:14 Bör man använda sig av en båtförme
  • 14:12 Finns det någon intressant hundblo
  • 14:25 Tips på verktyg för att skapa QR-k
  • 14:23 Tips på verktyg för att skapa QR-k
  • 20:52 Fungerer innskuddsbonuser egentlig

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 569 602
27 953
271 705
6 190
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies