Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    Sequenza di n Numeri casuali senza ripetizione

    Ciao!

    Sapreste aiutarmi?

    Mi serve di generare una sequenza di n numeri senza ripetizioni!
    Es.

    n = 8
    sequenza rnd = 1,3,4,2,5,7,8,6

    n = 12
    sequenza rnd = 9,10,4,5,6,3,11,7,12,1,2,8

    Come fare?
    Grazie in anticipo!
    "Quando si mangia il formaggio svizzero, che succede ai buchi?" (B. Brecht)

    Visitate il mio sito:
    www.clamorosalcibali.it

  2. #2

    Intanto...

    ho pensato a una soluzione del tipo:

    creo un array(n) dove n è il numero degli elementi della sequenza

    quindi
    array(0) = 1
    array(1) = array(0) + 1
    ...
    fino alla fine dell'array

    a questo punto ho n array che valgono (se n=10) 1,2,3,4,5,6,7,8,9,10

    Problema: come ordinare questi array in ordine casuale?
    In PHP userei shuffle($array);

    In ASP c'è qualcosa di simile?
    "Quando si mangia il formaggio svizzero, che succede ai buchi?" (B. Brecht)

    Visitate il mio sito:
    www.clamorosalcibali.it

  3. #3
    Utente di HTML.it L'avatar di willybit
    Registrato dal
    May 2001
    Messaggi
    4,367
    Non esiste la stessa funzione in ASP ma si può farla
    codice:
    Function Shuffle(Arrei)
      dim i,temp,casuale,arr
      arr=Arrei
      Randomize
      for i=LBound(arr) to UBound(arr)
        temp = arr(i)
        casuale = Int((UBound(arr)+1)*Rnd)
        arr(i) = arr(casuale)
        arr(casuale) = temp
      next
      Shuffle=arr
    End Function
    ti faccio un esempio di utilizzo
    codice:
    n=10
    ReDim arr(n-1)
    for i=0 to n-1
    	arr(i)=i+1
    next
    
    arr2=Shuffle(arr)
    
    for i=LBound(arr) to UBound(arr)
    	Response.Write arr(i) & " - " & arr2(i) & "
    "
    next

  4. #4
    Grazie, funziona perfettamente!!!
    "Quando si mangia il formaggio svizzero, che succede ai buchi?" (B. Brecht)

    Visitate il mio sito:
    www.clamorosalcibali.it

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.