bevorzugte zufalls abfrage

  • VB.NET

Es gibt 8 Antworten in diesem Thema. Der letzte Beitrag () ist von RodFromGermany.

    bevorzugte zufalls abfrage

    Hei ich abrbeite an einem sitzplan Programm bin soweit auch fertig aber jetzt würde ich gerne wissen wie man nur neben bestimmten Personen sitzt.ich weis das ich dazu eine Schleife brauche bzw. 2 ! dann mache ich ja eine If abfrage und dann???? wie wählt der einen dieser namen aus

    Visual Basic-Quellcode

    1. Public Class Form1
    2. Dim randomizer As New Random
    3. Private Sub Button1_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    4. Dim vornamen() As String = {"Marian", "Leonardo", "Jonas", "Niklas", "Julia", "Lucy", "Katja", "Christian", "Matthias", "Vincent", "Michael", "Sarah", "Jana", "Julius", "Magdalena", "Paul", "Manuel", "Clemence", "Tim F.", "Tim K.", "Kevin", "Leon", "Marcel", "Emilio", "Eila", "Simon"}
    5. Dim boxes() As TextBox = {TextBox2, TextBox3, TextBox4, TextBox5, TextBox6, TextBox7, TextBox8, TextBox9, TextBox10, TextBox11, TextBox12, TextBox13, TextBox14, TextBox15, TextBox16, TextBox17, TextBox18, TextBox19, TextBox20, TextBox21, TextBox22, TextBox23, TextBox24, TextBox25, TextBox26}
    6. Dim ori(24) As Integer
    7. Dim nb(24) As Integer
    8. For i = 0 To 24
    9. ori(i) = i
    10. nb(i) = randomizer.Next(0, 25)
    11. Next
    12. Array.Sort(nb, ori)
    13. For i = 0 To 24
    14. boxes(i).Text = vornamen(ori(i))
    15. Next
    16. [color=#FF0000]If TextBox3.Text = "Marian" Then
    17. TextBox2.Text = "katja" Or "Lucy"
    18. [/color]
    19. End If
    20. End Sub

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „TheProgrammer“ ()

    @ TheProgrammer
    Oder Du machst gleich Paare von Sitzen, wenn 2 zusammensitzen sollen.
    Dann sollte Dir allerdings die Reihenfolge ab und ba egal sein.
    Schreib beide Namen in das Array und trenne sie durch ein spezielles Zeichen, dann weißt Du, dass das ein Paar ist.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    ​Oder Du machst gleich Paare von Sitzen, wenn 2 zusammensitzen sollen.
    @RodFromGermany

    ich glaube du verstehst mich flasch es sollen net immer die gleichen neben Mara sitzen sonder immer eine verschieder aus einer 2. lise mit bevorzugten namen! also muss ich ja erst heraus finden wo ich sitze und dann mus zufällig aud der bevorzugtenliste der nebensitzer herausgesucht werden
    ich weiß jetzt nicht, was Rod verstanden hat, aber ich zB. hab das auch so verstanden. Und ich teile Rods Ansicht (wenn ich ihn recht versteh), dass man zusätzlich zur Liste der Personen eine weitere Liste braucht, wo die zulässigen Person-Paarungen gelistet sind.

    Und du musst einen Algo finden, der aus der Paarungs-Liste zufällige Auswahlen trifft, und wenn eine Auswahl getroffen ist, dann ist zu berücksichtigen, dass mehrere andere Paarungen gleichzeitig nun auch nicht mehr verfügbar sind - nämlich alle Paarungen, in denen einer der aktuell ausgewählten mit-enthalten ist.
    @TheProgrammer Mach mal eine oder zwei (kurze) Input-Listen und dazu alle erlaubten Möglichkeiten an Output.
    6 Stühle sollten reichen.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    habt ihr das so gemeint? aber dann hane ich die namen doppelt :(



    Visual Basic-Quellcode

    1. Public Class Form1
    2. Dim randomizer As New Random
    3. Private Sub Button1_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    4. Dim vornamen() As String = {"Marian", "Leonardo", "Jonas", "Niklas", "Julia", "Christian", "Matthias", "Vincent", "Michael", "Sarah", "Jana", "Magdalena", "Paul", "Manuel", "Clemence", "Tim F.", "Tim K.", "Kevin", "Marcel", "Eila", "Simon"}
    5. Dim boxes() As TextBox = {TextBox2, TextBox3, TextBox4, TextBox5, TextBox6, TextBox7, TextBox8, TextBox9, TextBox10, TextBox11, TextBox12, TextBox13, TextBox14, TextBox15, TextBox16, TextBox17, TextBox18, TextBox19, TextBox20, TextBox21, TextBox22, TextBox23, TextBox24, TextBox25, TextBox26}
    6. Dim ori(22) As Integer
    7. Dim nb(22) As Integer
    8. For i = 0 To 24
    9. ori(i) = i
    10. nb(i) = randomizer.Next(0, 21)
    11. Next
    12. Array.Sort(nb, ori)
    13. For i = 0 To 24
    14. boxes(i).Text = vornamen(ori(i))
    15. Next
    16. If TextBox3.Text = "Marian" Or TextBox9.Text = "Marian" Then
    17. Dim rd As New Random
    18. Dim liebe(5) As String
    19. liebe(0) = "Katja"
    20. liebe(1) = "Lucy"
    21. liebe(2) = "Julius"
    22. liebe(3) = "Leon"
    23. liebe(4) = "Emilio"
    24. TextBox2.Text = liebe(randomizer.Next(0, 4)) Or TextBox10.Text = liebe(randomizer.Next(0, 4))
    25. MsgBox("es hat funktioniert", MsgBoxStyle.Critical, "ja")
    26. End If


    TheProgrammer schrieb:

    habt ihr das so gemeint?
    Nein.
    Keinen Code, sondern eine Liste aller erlaubten Lösungen bei einer kleinen Anzahl an Personen.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!