probleem met een array

Status
Niet open voor verdere reacties.

verhaba

Gebruiker
Lid geworden
8 feb 2008
Berichten
79
Hallo

Ik heb een probleem. Ik moet een array opvullen. De waarden van de array moeten twee aan twee verschuiven, en niet opnieuw gegenereerd worden. Na een switch geschreven te hebben moet:
de waarde op index 0 op index 1 komen
de waarde op index 1 op index 0 komen, enzo.

of anders voorgesteld.
---------------------------------------
Array BEFORE switch : 10 20 30 40 50
Array AFTER switch : 20 10 40 30 50
---------------------------------------

Dit is het programma-verloop bij zes getallen ingevoerd te hebben.

---------------------------------------
Array BEFORE switch : 10 20 30 40 50 60
Array AFTER switch : 20 10 40 30 60 50
---------------------------------------
Code:
Module Module1

    Sub Main()
        Console.WriteLine("Count ?")
        Dim count As Integer = Console.ReadLine()

        Dim value(count) As Integer

        ' de array opbouwen
        Dim index As Integer
        For index = 0 To count - 1
            Console.WriteLine("Number " & index + 1 & " ?")
            value(index) = Console.ReadLine()
        Next

        ' de array uitschrijven:
        Console.WriteLine("----------------------------------------")
        Console.Write("Array BEFORE Switch : ")
        For index = 0 To count - 1
            Console.Write(value(index) & " ")
        Next

        Dim backup As Integer
        'de waarden in de array veranderen; de switch toepassen!
        For index = 0 To count - 1 Step 2
            value(index) = backup
            If index Mod 2 = 0 Then
                value(index) = value(index + 1)
            Else
                value(index) = backup
            End If

        Next

        ' de array uitschrijven:
        Console.WriteLine()
        Console.Write("Array AFTER Switch: ")

        For index = 0 To count - 1
            Console.Write(value(index) & " ")
        Next
        Console.WriteLine()
        Console.WriteLine("----------------------------------------")

        'de console laten wachten op input om af te sluiten.
        Console.ReadLine()

    End Sub

Ik kan de array genereren en voor een deel laten switchen. Maar verder zit ik in de penarie.
 
Uhmm.. ik zou zeggen, probeer je loop eens te veranderen in:
Code:
        Dim backup As Integer
        'de waarden in de array veranderen; de switch toepassen!
        For index = 0 To count - 2 Step 2
            backup = value(index)
            value(index) = value(index + 1)
            value(index + 1) = backup
        Next
of zoiets, even proberen, maar ik zie niet in waarom je de waarde backup aan value(index) toekent voordat deze een waarde heeft, noch waarom je zowel een mod als een step 2 gebruikt. Ik denk dat bovenstaande wel zal werken
 
Uhmm.. ik zou zeggen, probeer je loop eens te veranderen in:
Code:
        Dim backup As Integer
        'de waarden in de array veranderen; de switch toepassen!
        For index = 0 To count - 2 Step 2
            backup = value(index)
            value(index) = value(index + 1)
            value(index + 1) = backup
        Next
of zoiets, even proberen, maar ik zie niet in waarom je de waarde backup aan value(index) toekent voordat deze een waarde heeft, noch waarom je zowel een mod als een step 2 gebruikt. Ik denk dat bovenstaande wel zal werken


Hey

Bedankt voor je antwoord, maar ik had idd je oplossing zelf al gevonden. Was vergeten de issue te sluiten. Sorry for that!...
Maar uiteraard toch bedankt voor de moeite.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan