Toon posts:

[VB6] Array *

Pagina: 1
Acties:
  • 42 views sinds 30-01-2008

Verwijderd

Topicstarter
Visual Basic:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
Module Module1
    Sub Main()
        Console.WriteLine(1)
        Console.WriteLine(2)
        Dim Deler As Integer = 0
        Dim A As Integer = 0
        Dim Q() As Integer
        Dim I As Integer = 2
        Dim J As Integer = 0
        Dim B As Integer = 1
        Q(0) = 1
        Q(1) = 2
        For Getal As Integer = 3 To 100
            A = 0
            Deler = 2
            J = 0
            B = 0
            While (B = 0)
                If J > Q.Length Then
                    B = 1
                Else
                    If Getal Mod Q(J) = 0 Then
                        A = 1
                    End If
                    J += 1
                    Deler += 1
                End If
            End While
            If A = 0 Then
                Console.WriteLine(Getal)
                I = I + 1
                Q(I) = Getal
            End If
        Next Getal
        Dim lol = Console.Read()
    End Sub
End Module


Wat doe ik fout?
Ik probeer een programma te schrijven dat snel priemgetallen zoekt.

Nu heb ik ondekt dat je de vorige getallen als delers kunt gebruiken!

Alleen lukt het mij niet om deze nethes in een array te krijgen en deze ook netjes uit te lezen.
Verder heb ik ook gevonden dat als ik de delers van 50 nodig heb dat ik dan maar moet zoeken tot 50 / 2 omdat 2 x 25 = 50 en 5 x 10 = 50 en er dus geen delers boven de 50 zijn (in dit geval) :-)

Maar, wat doe ik fout?

Ik heb al vanalles geprobeerd maar het blijkt dat bij mij Arrays en VB niet samengaan 8)7

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Uhm, je zegt nergens hoe groot je array is en je redim-ed 'm nergens... Het is geen javascript ;)

Verder geef je niet aan waar het fout gaat, wat je zelf al hebt geprobeerd, welke foutmelding je krijgt enzovoorts. Je geeft niet eens aan wélke VB je gebruikt, maar dat is zo te zien VB.Net :Y)

Tot slot is het een algemeen bekend feit dat je "maar" tot de helft hoeft te gaan voor het onderzoeken of een getal een priemgetal is, sterker: je hoeft niet eens verder te gaan dan de wortel van dat getal als ik me niet vergis. En hoewel ik je algoritme niet tot in detail heb bekeken lijkt me er nog meer aan te mankeren zo op het eerste gezicht...

[ Voor 109% gewijzigd door RobIII op 28-04-2005 17:42 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Verwijderd

Topicstarter
RobIII schreef op donderdag 28 april 2005 @ 17:34:
Uhm, je zegt nergens hoe groot je array is en je redim-ed 'm nergens... Het is geen javascript ;)

Verder geef je niet aan waar het fout gaat, wat je zelf al hebt geprobeerd, welke foutmelding je krijgt enzovoorts. Je geeft niet eens aan wélke VB je gebruikt, maar dat is zo te zien VB.Net :Y)
Hoe groot?
Hij moet constant aangevuld worden...

Redimmen?
Dan gaat het array toch constant terug leeg?

Welke versie?
Ik gebruikt inderdaad VB.NET

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Verwijderd schreef op donderdag 28 april 2005 @ 17:38:
[...]


Hoe groot?
Hij moet constant aangevuld worden...

Redimmen?
Dan gaat het array toch constant terug leeg?
Check de helpfile dan eens...
redim preserve

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Verwijderd

Topicstarter
RobIII schreef op donderdag 28 april 2005 @ 17:40:
[...]

Check de helpfile dan eens...
redim preserve
Hey bedankt :+

Nu krijg ik een System.NullReferenceException op deze regel: Q(0) = 1

Nu kan ik er helemaal niet meer aan uit? 8)7

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Verwijderd schreef op donderdag 28 april 2005 @ 17:42:
[...]


Hey bedankt :+

Nu krijg ik een System.NullReferenceException op deze regel: Q(0) = 1

Nu kan ik er helemaal niet meer aan uit? 8)7
Wat dacht je van zélf debuggen? Of moeten we je aan je handje houden?
Wat heb je nou gedaan / veranderd?

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Verwijderd

Topicstarter
RobIII schreef op donderdag 28 april 2005 @ 17:43:
[...]

Wat dacht je van zélf debuggen? Of moeten we je aan je handje houden?
Wat heb je nou gedaan / veranderd?
Heb het al opgelost, maar krijg weer een error *pfffffffffff*

Visual Basic:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
Module Module1
    Sub Main()
        Console.WriteLine(1)
        Console.WriteLine(2)
        Dim Deler As Integer = 0
        Dim A As Integer = 0
        Dim Q(2) As Integer 'Hier moest ik dus 2 zetten
        Dim I As Integer = 2
        Dim J As Integer = 0
        Dim B As Integer = 1
        Q(0) = 1 ' Hier maakte hij dus de fout * opgelost *
        Q(1) = 2
        For Getal As Integer = 3 To 100
            A = 0
            Deler = 2
            J = 0
            B = 0
            While (B = 0)
                If J > Q.Length Then
                    B = 1
                Else
                    If Getal Mod Q(J) = 0 Then ' Nu krijg ik hier de error dat hij niet door 0 kan delen ?
                        A = 1
                    End If
                    J += 1
                    Deler += 1
                End If
            End While
            If A = 0 Then
                Console.WriteLine(Getal)
                I = I + 1
                ReDim Preserve Q(I)
                Q(I) = Getal
            End If
        Next Getal
        Dim lol = Console.Read()
    End Sub
End Module


:X

[ Voor 8% gewijzigd door Verwijderd op 28-04-2005 17:47 ]


  • gorgi_19
  • Registratie: Mei 2002
  • Nu online

gorgi_19

Kruimeltjes zijn weer op :9

Verwijderd schreef op donderdag 28 april 2005 @ 17:45:
[...]


Heb het al opgelost, maar krijg weer een error *pfffffffffff*
Zonder concrete informatie kunnen we weinig en kan ik het topic net zo goed op slot doen. Oftewel, zie P&W FAQ - De "quickstart"

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Verwijderd schreef op donderdag 28 april 2005 @ 17:45:
[...]


Heb het al opgelost, maar krijg weer een error *pfffffffffff*
* Kuch *
Kom op zeg :|
gorgi_19 schreef op donderdag 28 april 2005 @ 17:46:
[...]

Zonder concrete informatie kunnen we weinig en kan ik het topic net zo goed op slot doen. Oftewel, zie P&W FAQ - De "quickstart"
Dank u ;) Je was me voor :Y)

[ Voor 43% gewijzigd door RobIII op 28-04-2005 17:47 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


  • bigbeng
  • Registratie: Augustus 2000
  • Laatst online: 26-11-2021
De MSDN site kan je redelijk eenvoudig meer vertellen. Zoals, hoe programmeer ik in VB.NET en hoe werken arrays nou eigenlijk. Je zult hier toch echt meer research in moeten stoppen. Veel plezier met leren programmeren ;)

edit:
En spuit 11... :D

[ Voor 7% gewijzigd door bigbeng op 28-04-2005 17:49 ]


Verwijderd

Topicstarter
Ik raak echt niet verder.

Nu ben ik hier geraakt:

Visual Basic:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
Module Module1
    Sub Main()
        Console.WriteLine(1)
        Console.WriteLine(2)
        Dim Deler As Integer = 0
        Dim A As Integer = 0
        Dim Q(2) As Integer
        Dim I As Integer = 2
        Dim J As Integer = 0
        Dim B As Integer = 1
        Q(0) = 1
        Q(1) = 2
        For Getal As Integer = 3 To 100
            A = 0
            Deler = 2
            J = 0
            B = 0
            While (B = 0)
                If J = I Then
                    B = 1
                Else
                    If Getal Mod Q(J) = 0 Then
                        A = 1
                    End If
                    J += 1
                    Deler += 1
                End If
            End While
            If A = 0 Then
                Console.WriteLine(Getal)
                I = I + 1
                ReDim Preserve Q(I)
                Q(I) = Getal
            End If
        Next Getal
        Dim lol = Console.Read()
    End Sub
End Module


en doet hij niets meer?

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
bigbeng schreef op donderdag 28 april 2005 @ 17:49:
De MSDN site kan je redelijk eenvoudig meer vertellen. Zoals, hoe programmeer ik in VB.NET en hoe werken arrays nou eigenlijk. Je zult hier toch echt meer research in moeten stoppen. Veel plezier met leren programmeren ;)

edit:
En spuit 11... :D
Die kan prima als reference dienen, of als naslagwerk voor de wat duistere hoekjes... maar je leert er niet snel programmeren. Daar heb je andere sites voor, en (IMHO nog beter:) boeken.
Verwijderd schreef op donderdag 28 april 2005 @ 17:50:
Ik raak echt niet verder.

Nu ben ik hier geraakt:
Ben je doof :? 8)7

[ Voor 18% gewijzigd door RobIII op 28-04-2005 17:52 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


  • gorgi_19
  • Registratie: Mei 2002
  • Nu online

gorgi_19

Kruimeltjes zijn weer op :9

Mja, dit heeft weinig zin op deze manier. Je bent al een paar keer gevraagd om aan te geven WAT er niet lukt, WAAR gaat het fout. De term debuggen is al een paar keer gevallen; dat geldt ook voor jou. Isoleer het probleem en los het dan op.

Dit topic heeft op deze manier weinig zin; deze gaat dan ook dicht bij gebrek aan relevante informatie en het is een kwestie van debuggen.

Digitaal onderwijsmateriaal, leermateriaal voor hbo

Pagina: 1

Dit topic is gesloten.