Visualizzazione dei risultati da 1 a 4 su 4

Discussione: numero già in elenco?

  1. #1

    numero già in elenco?

    Problema:

    ho un numero casuale, devo controllare che non ci sia già in un vettore: se non c'è bene altrimenti me ne deve dare un'altro (che non è già presente)

    Avete qualche consiglio?

    Grazie
    Se per ogni sbaglio avessi 1000 Lire che vecchiaia che passerei! [Non è tempo per noi - Ligabue]
    Strade?! Dove andiamo noi non ci servono.....strade!

  2. #2
    Utente di HTML.it L'avatar di Mabi
    Registrato dal
    May 2002
    Messaggi
    1,245
    Io l'ho fatto con 2 funzioni: una per estrarre e una per controllare.
    codice:
    Private Function NumeroNonPresente(Vettore() As Integer) As Integer
    Dim Numero As Integer
    Dim Cont As Integer
    Dim Uguale As Boolean
    
    Do
    Uguale = False
    Numero = NumeroEstratto(0, 9)
    For Cont = 0 To UBound(Vettore)
      If Numero = Vettore(Cont) Then
        Uguale = True
        Exit For
      End If
    Next Cont
    Loop Until Uguale = False
    
    NumeroNonPresente = Numero
    End Function
    
    Private Function NumeroEstratto(Min As Integer, Max As Integer) As Integer
    Randomize Timer
    NumeroEstratto = Int((Max - Min + 1) * Rnd + Min)
    End Function
    In questo modo ti basta richiamare la funzione per avere un numero non presente nel vettore:
    codice:
    Private Sub Command1_Click()
    Dim Vettore(5) As Integer
    
    Vettore(0) = 0
    Vettore(1) = 1
    Vettore(2) = 2
    Vettore(3) = 3
    Vettore(4) = 4
    Vettore(5) = 5
    
    MsgBox NumeroNonPresente(Vettore)
    End Sub
    Ciao.

  3. #3
    Io preparato questo ma non funziona! Perchè?

    codice:
    Do Until uguale = True
    Randomize
    x = Int((57 - 48 + 1) * Rnd + 48)
    k = 0
    uguale = False
        Do Until uguale = True Or k = 5
        k = k + 1
        If r(k) = x Then
        uguale = True
        Else
        uguale = False
        End If
        Loop
    Loop
    dove 5 è la dimensione del vettore...
    Se per ogni sbaglio avessi 1000 Lire che vecchiaia che passerei! [Non è tempo per noi - Ligabue]
    Strade?! Dove andiamo noi non ci servono.....strade!

  4. #4
    risolto...
    grazie
    Se per ogni sbaglio avessi 1000 Lire che vecchiaia che passerei! [Non è tempo per noi - Ligabue]
    Strade?! Dove andiamo noi non ci servono.....strade!

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.