Nieuws:

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

Auteur Topic: [Opgelost][C++] Vastgelegde reeks geheugenlocaties, hoe waarden eruithalen?  (gelezen 1031 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.