Helpmij.nl
Helpmij.nl
Helpmij.nl
Steun Helpmij.nl! Klik hier     Computerprobleem? Klik hier!

Quote

Weergeven resultaten 1 tot 14 van 14

Onderwerp: heb een basis code, maar kom niet tot een oplossing...

  • Vraag is opgelost
  1. #1

    heb een basis code, maar kom niet tot een oplossing...

    Hallo,

    Ik zoek een code die dit op het scherm brengt:

    Numbers < capacity 2, count 0 > :
    Number ? : 10
    Numbers < capacity 2, count 1 > : 10
    Number ? : 5
    Numbers < capacity 2, count 2 > : 5 10
    Number ? : 7
    Numbers < capacity 4, count 3 > : 5 7 10
    Number ? : 5
    Numbers < capacity 4, count 4 > : 5 5 7 10
    Number ? : 0
    Numbers < capacity 8, count 5 > : 0 5 5 7 10
    Number ? : 6
    Numbers < capacity 8, count 6 > : 0 5 5 6 7 10
    Number ? : 8
    Numbers < capacity 8, count 7 > : 0 5 5 6 7 8 10
    Number ? : 9
    Numbers < capacity 8, count 8 > : 0 5 5 6 7 8 9 10
    Number ? : 15
    Numbers < capacity 16, count 9 > : 0 5 5 6 7 8 9 10 15
    Number ? : - 5
    Numbers < capacity 16, count 10 > : -5 0 5 5 6 7 8 9 10 15
    Number ? : _

    De in te voeren getallen (zie number ? + waarde die dient ingevoerd te worden, dus eerste getal dat dient ingevoerd te worden is 10, dan 5 enz.) worden in een array op de juiste plaats ingevoegd. De array wordt op een "intelligente wijze" vergroot indien noodzakelijk. Dit wil zeggen dat er vertrokken wordt van een bepaalde capaciteit (2 elementen) en dat indien nodig de capaciteit wordt verdubbeld. Enkel de opgevulde elementen worden afgeprint. Het is niet de bedoeling de array steeds te sorteren na het toevoegen van een waarde, maar eerder om de waarde meteen op de juiste plaats in te voegen.

    Ik heb volgende code in elkaar gebrokkeld, maar ik versta niet op welke manier je aan de oplossing kan komen. Kan iemand me helpen a.u.b.?

    Code:
    Module Module 1
        Sub Main()
            Dim capacity As Integer = 2
            Dim count As Integer
            Dim numbers(capacity - 1) As Integer
            '
            Do
                Dim index As Integer
                Console.Write("Numbers ( capacity " & capacity & _
                              ", count " & count & " ) : ")
                For index = 0 To count - 1
                    Console.Write(numbers(index) & " ")
                Next
                Console.WriteLine()
                Console.Write("Number ? : ")
                Dim number As Integer = Console.ReadLine()
                count += 1
                If count > capacity Then
                    capacity *= 2
                    ReDim Preserve numbers(capacity - 1)
                End If
                numbers(count - 1) = number
            Loop
        End Sub
    End Module
    Laatst aangepast door huijb : 17 mei 2012 om 17:42

  2. #2
    Code:
    Dim tmp, tmp2 as integer
    tmp2 = number
    For i=0 to capacity - 1
    If number < Preserve(i) then 
    For j = i to capacity - 1
    tmp = Preserve(j)
    Preserve(j) = tmp2
    tmp2 = tmp
    Next
    Exit For
    End If
    Next
    Bedoel je zoiets?

  3. #3
    Hallo,

    De code die je genoteerd heb, pas je die in in de code die ik genoteerd heb, waar je niet tot een eindoplossing mee komt ?

    Groeten,
    DavidWebb

  4. #4
    Ik versta niet goed wat u bedoeld.
    Laatst aangepast door huijb : 17 mei 2012 om 17:42

  5. #5
    Giga Senior JoZ1's avatar
    Geregistreerd
    17 december 2010
    Locatie
    Nieuwegein
    Afstand tot server
    ±90 km
    Ik snap ook niet precies wat-ie bedoelt...

    Werkt het ja/nee. Zo nee: wat moet er veranderd worden?




    "Microsoft is not the answer. Microsoft is the question. NO is the answer."- E. Naggum

  6. #6
    Hallo,

    De code werkt niet...

    Volgende code dient meteen bij het drukken op F5 op het scherm te komen.

    Numbers < capacity 2, count 0 > :
    Number ? :

    Dan dien je 10 in te toetsen en verschijnt:

    Numbers < capacity 2, count 1 > : 10
    Number ? :

    Nu dien je opnieuw een nummer in te toetsen, in dit geval dus 5 en dan krijg je opnieuw hetvolgende op het scherm:

    Numbers < capacity 2, count 2 > : 5 10
    Number ? :

    Enzoverder... Nummer opnieuw in te vullen...


    Mvg,
    David Webb

    Numbers < capacity 2, count 0 > :
    Number ? : 10 'getal dat telkens ingevuld moet worden
    Numbers < capacity 2, count 1 > : 10 'datgene wat steeds op het scherm dient te verschijnen
    Number ? : 5
    Numbers < capacity 2, count 2 > : 5 10
    Number ? : 7
    Numbers < capacity 4, count 3 > : 5 7 10
    Number ? : 5
    Numbers < capacity 4, count 4 > : 5 5 7 10
    Number ? : 0
    Numbers < capacity 8, count 5 > : 0 5 5 7 10
    Number ? : 6
    Numbers < capacity 8, count 6 > : 0 5 5 6 7 10
    Number ? : 8
    Numbers < capacity 8, count 7 > : 0 5 5 6 7 8 10
    Number ? : 9
    Numbers < capacity 8, count 8 > : 0 5 5 6 7 8 9 10
    Number ? : 15
    Numbers < capacity 16, count 9 > : 0 5 5 6 7 8 9 10 15
    Number ? : - 5
    Numbers < capacity 16, count 10 > : -5 0 5 5 6 7 8 9 10 15
    Number ? : _

  7. #7
    kan je je vragen wat beter formuleren? wat is er fout?
    Laatst aangepast door frankwannet : 17 mei 2012 om 22:43 Reden: Onnodige quote verwijderd.

  8. #8
    Giga Senior JoZ1's avatar
    Geregistreerd
    17 december 2010
    Locatie
    Nieuwegein
    Afstand tot server
    ±90 km
    Ik denk dat ik het begrijp:

    Code:
     Dim input As String = ""
            Dim count As Integer = 0
            Do
                cijfers.Sort()
                Dim temp As String = ""
                input = ""
                For Each item As Integer In cijfers
                    temp &= " " & item.ToString
                Next
                Console.WriteLine("Numbers < count " & count.ToString & " > :" & temp)
                input = Console.ReadLine()
                If IsNumeric(input) Then cijfers.Add(CInt(input)) : count += 1 Else _
                    Console.WriteLine("Invalid input. Try again.")
            Loop Until input = ""




    "Microsoft is not the answer. Microsoft is the question. NO is the answer."- E. Naggum

  9. #9
    Dag joZ1 en de rest :-)

    Ja, wat jij voorstelt, dat gaat de goede richting uit, ik denk dat we bijna een oplossing hebben.

    Wanneer ik jou code invoer, komt volgende foutmelding op mijn scherm:

    'cijfers' is not declared. It may be inaccessible due to its protection level.

    Enig idee hoe we dit handig kunnen oplossen ?


    Mvg,
    DavidWebb

  10. #10
    Giga Senior JoZ1's avatar
    Geregistreerd
    17 december 2010
    Locatie
    Nieuwegein
    Afstand tot server
    ±90 km
    Oeps! Ik heb niet de hele code gekopieerd

    Ik had:

    CPP Code:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    
    Private cijfers As New List(Of Integer)
    Sub Main()
    Dim input As String = ""
            Dim count As Integer = 0
            Do
                cijfers.Sort()
                Dim temp As String = ""
                input = ""
                For Each item As Integer In cijfers
                    temp &= " " & item.ToString
                Next
                Console.WriteLine("Numbers < count " & count.ToString & " > :" & temp)
                input = Console.ReadLine()
                If IsNumeric(input) Then cijfers.Add(CInt(input)) : count += 1 Else _
                    Console.WriteLine("Invalid input. Try again.")
            Loop Until input = ""
    End Sub
    Laatst aangepast door JoZ1 : 18 mei 2012 om 15:36




    "Microsoft is not the answer. Microsoft is the question. NO is the answer."- E. Naggum

  11. #11
    We zijn er bijna...

    De getallen dienen van klein naar groot te verschijnen.

    Je voert ales eerste cijfers 10 in en 10 verschijnt.

    Erna voer je 5 in en 5 10 verschijnt op het scherm, in die volgorde.

    Erna voer je bv. - 5 in en - 5 5 10 verschijnt, in die volgorde.

    Enig idee ?

    Bijna een oplossing, alvast bedankt ! ! !
    Mvg,
    DavidWebb

  12. #12
    Giga Senior JoZ1's avatar
    Geregistreerd
    17 december 2010
    Locatie
    Nieuwegein
    Afstand tot server
    ±90 km
    Het ligt aan de code die ik vergeten was en later nog heb toegevoegd.

    CPP Code:
    1
    
    Private cijfers As New List(Of String)
    moet natuurlijk
    CPP Code:
    1
    
    Private cijfers As New List(Of Integer)
    zijn




    "Microsoft is not the answer. Microsoft is the question. NO is the answer."- E. Naggum

  13. #13
    Hoi,

    De oplossing klopt ! ! ! Nu, hartelijk dank hiervoor.
    Ik merk wel dat ik iets over het hoofd heb gezien. Datgene wat ik wens te bereiken is ook dat "capacity" genoteerd staat. Zie eerste post.

    < capacity 2, count 0 >
    < capacity 2, count 1 >
    < capacity 2, count 2 >
    < capacity 4, count 3 >
    < capacity 4, count 4 >
    < capacity 8, count 5 >
    < capacity 8, count 6 >
    < capacity 8, count 7 >
    < capacity 8, count 8 >
    < capacity 16, count 9 >
    < capacity 16, count 10 >

    Mvg,
    DavidWebb

  14. #14
    Giga Senior JoZ1's avatar
    Geregistreerd
    17 december 2010
    Locatie
    Nieuwegein
    Afstand tot server
    ±90 km
    Een Generic List heeft oneindig veel capaciteit.
    Dus die groeit automatisch mee.




    "Microsoft is not the answer. Microsoft is the question. NO is the answer."- E. Naggum

Berichtenregels

  • U mag geen nieuwe discussies starten.
  • U mag niet reageren op berichten.
  • U mag geen bijlagen versturen.
  • Umag niet uw berichten bewerken.
  •  
Helpmij.nl
Helpmij.nl

Helpmij.nl en business

Partners
Sponsoren
Linkpartners
Aanbiedingen