Nieuws:

Ubuntu-NL weer online!

Na een periode van technische problemen en een overbelaste server zijn we eindelijk weer bereikbaar.
Samen met Hobbynet, onze sponsor en hostingpartner, hebben we een oplossing gevonden zodat alles weer soepel draait.

Bedankt voor jullie geduld en begrip. We hopen nu weer verder te gaan waar we gebleven waren.

Het team van Ubuntu-NL

Welkom, Gast. Alsjeblieft inloggen of registreren.
Heb je de activerings-mail niet ontvangen?

Auteur Topic: [Opgelost][C++] Vastgelegde reeks geheugenlocaties, hoe waarden eruithalen?  (gelezen 1408 keer)

Offline Joshua822

  • Lid
Hallo allemaal.

Ik kan mijn vraag niet heel goed uitleggen. Ik heb met de new operator dus een vaste blok geheugen gekregen voor een reeks van 5 integer waarden. Nu wil ik deze waarden kunnen wijzigen en dan naar het scherm schrijven. Ik kan het niet echt goed uitleggen, maar ik denk dat mijn code voor de rest genoeg zegt:
#include <iostream>
#include <new>

using namespace std;

int main ()
{
    int * reeks = new ( nothrow) int [ 5 ], n;
    if ( reeks == 0 )
    {
         cout << "Error: kon geen geheugen toewijzen aan variabel reeks." << endl;
         cin.get ();
         return 1;
    }
    *reeks = 2;
    for ( n = 0; n < 5; n++ )
    {
        reeks [ n ] = reeks [ n - 1 ] * 2;
        cout << reeks << ", " << endl;
    }
    cin.get ();
    delete [ ] reeks;
    return 0;
}

Ik hoop dat iemand me snel in de juiste richting point ;)

Alvast bedankt.

« Laatst bewerkt op: 2009/09/26, 21:55:05 door Joshua822 »

Offline idefix

  • Lid
Re: [C++] Vastgelegde reeks geheugenlocaties, hoe waarden eruithalen?
« Reactie #1 Gepost op: 2009/09/26, 20:27:34 »
ik kan je niet helpen met deze vraag, maar je hebt een pb.
Support bacteria. They're the only culture some people have.

Offline Joshua822

  • Lid
Re: [C++] Vastgelegde reeks geheugenlocaties, hoe waarden eruithalen?
« Reactie #2 Gepost op: 2009/09/26, 21:54:43 »
Ik heb de oplossing te pakken: je moet ze gewoon behandelen als arrays!

#include <iostream>
#include <new>

using namespace std;

int main ()
{
    int * reeks = new ( nothrow ) int [ 5 ], n;
    if ( reeks == 0 )
    {
         cout << "Error: kon geen geheugen toewijzen aan variabel reeks." << endl;
         cin.get ();
         return 1;
    }
    reeks [ 0 ] = 2;
    cout << reeks [ 0 ] << ", " << endl;
    for ( n = 1; n < 5; n++ )
    {
        reeks [ n ] = reeks [ n - 1 ] * 2;
        cout << reeks [ n ] << ", " << endl;
    }
    cin.get ();
    delete [ ] reeks;
    return 0;
}

Misschien kan ik het programma nog wat kleiner maken, dat zal ik nog eens bekijken. Maar nu is het opgelost.