Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2018
    Messaggi
    11

    [VB.NET] Estrazione di numeri pari

    Ciao ho caricato un vettore con 5 numeri random, ho estratto i numeri pari, ma non capisco come fare a visualizzare ma in ordine inverso. Ho provato ma non capisco !!
    esp
    5-4-8-9-2
    2-8-4

    Se faccio uscire il c(i) dal 1°ciclo mi da errore. Ho provato con l'istruzione len( label.text), mi dava dei risultati che non c'entrano nulla .
    Se è possibile vorrei avere solo delle dritte, non voglio la soluzione dell'esercizio!!
    Secondo me sbaglio il secondo ciclo..poi boh.
    Dim v(5), c(5), n As Integer
    Label1.Text = ""
    Label2.Text = ""
    Label3.Text = ""
    Randomize()


    For i = 1 To 5
    v(i) = 1 + Int(Rnd() * 10)
    Label1.Text = Label1.Text & v(i) & "-"
    If v(i) Mod 2 = 0 Then
    c(i) = v(i)
    End If
    Next
    For n = 5 To 1 Step -1
    c(n) =c(I)
    Label2.Text = Label2.Text & c(n)
    Next




    Label1.Text = Microsoft.VisualBasic.Left(Label1.Text, Len(Label1.Text) - 1)

  2. #2
    Utente di HTML.it L'avatar di patel
    Registrato dal
    Jan 2008
    Messaggi
    1,994
    Quando estrai i numeri pari non ne ottieni 5 quindi otterrai degli zeri e poi non capisco c(n) =c(I), cosa è I ? te lo sei inventato. Non devi modificare gli elementi dell'array ma soltanto scandirlo alla rovescia, quindi basta il For n = 5 To 1 Step -1
    Ultima modifica di patel; 13-05-2018 a 07:45

  3. #3
    tip: quando postate il codice usate [ C O D E ] ... [ / C O D E ] (senza gli spazi) e rispettate gli indent, così il codice è leggibile

  4. #4
    codice:
    
    Dim v(5), c(5), n As Integer
    Label1.Text = ""
    Label2.Text = ""
    Label3.Text = ""
    Randomize()
    
    For i = 1 To 5
       v(i) = 1 + Int(Rnd() * 10)
       Label1.Text = Label1.Text & v(i) & "-"
       If v(i) Mod 2 = 0 Then
          c(i) = v(i)
       End If
    Next
    
    For n = 5 To 1 Step -1
       c(n) =c(I)
       Label2.Text = Label2.Text & c(n)
    Next
    
    Label1.Text = Microsoft.VisualBasic.Left(Label1.Text, Len(Label1.Text) - 1)

  5. #5
    Utente di HTML.it L'avatar di gibra
    Registrato dal
    Apr 2008
    residenza
    Italy
    Messaggi
    4,244
    Quote Originariamente inviata da optime Visualizza il messaggio
    tip: quando postate il codice usate [ C O D E ] ... [ / C O D E ] (senza gli spazi) e rispettate gli indent, così il codice è leggibile


    N.B. Io ho smesso di rispondere a chi non rispetta il Regolamento.
    Mi sono stufato di quelli che se ne fregano bellamente delle regole e del prossimo, ma che sono solo capace di chiedere.
    E se gli fai notare la violazione del Regolamento (che manco hanno letto) fanno pure i permalosi.

  6. #6
    Utente di HTML.it
    Registrato dal
    May 2018
    Messaggi
    11
    Il codice coretto � :
    codice:
     Public Class Form1    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
            Dim v(5), c(5), n, r(5) As Integer
            Label1.Text = ""
            Label2.Text = ""
         
            Randomize()
    
    
            For i = 1 To 5
                v(i) = 1 + Int(Rnd() * 10)
                Label1.Text = Label1.Text & v(i) & "-"
                If v(i) Mod 2 = 0 Then
                    r(i) = v(i)
                End If
            Next
            For n = 5 To 1 Step -1
                c(n) = r(n)
                If c(n) <> 0 Then
                    c(n) = r(n)
                    Label2.Text = Label2.Text & c(n) & "-"
                End If
    
    
            Next
    
    
            Label1.Text = Microsoft.VisualBasic.Left(Label1.Text, Len(Label1.Text) - 1)
            Label2.Text = Microsoft.VisualBasic.Left(Label2.Text, Len(Label2.Text) - 1)
    
        End Sub
    End Class
    Ultima modifica di Xatar; 13-05-2018 a 14:55

  7. #7
    quindi problema risolto?

  8. #8
    Utente di HTML.it L'avatar di patel
    Registrato dal
    Jan 2008
    Messaggi
    1,994
    troppi array, ne bastano 2
    codice:
           Dim v(5), n, r(5) As Integer
            Label1.Text = ""
            Label2.Text = ""
            Randomize()
            For i = 1 To 5
                v(i) = 1 + Int(Rnd() * 10)
                Label1.Text = Label1.Text & v(i) & "-"
                If v(i) Mod 2 = 0 Then
                    r(i) = v(i)
                End If
            Next
            For n = 5 To 1 Step -1
                If r(n) <> 0 Then
                    Label2.Text = Label2.Text & r(n) & "-"
                End If
            Next
            Label1.Text = Microsoft.VisualBasic.Left(Label1.Text, Len(Label1.Text) - 1)
            Label2.Text = Microsoft.VisualBasic.Left(Label2.Text, Len(Label2.Text) - 1)

  9. #9
    Utente di HTML.it
    Registrato dal
    May 2018
    Messaggi
    11
    Grazie mille patel & optime.

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 © 2024 vBulletin Solutions, Inc. All rights reserved.