array value kopiëren

Status
Niet open voor verdere reacties.

stykurgh

Gebruiker
Lid geworden
6 jul 2009
Berichten
715
Hallo,

Ik wil graag een waarde uit een array kopiëren naar een andere array. Alleen lukt dit niet. Ik doe dit gewoon zo: array1[0] = array2[0];

Hoe moet dit wel?

Mvg

Michel
 
Kan je niet wat meer code geven? (wat je doet zou normaal gesproken namelijk moeten werken)
 
Code:
#include <iostream>
#include <string>
#include <windows.h>
#include <ctime>

using namespace std;


int main()
{

int a,b;


bool gekozen[5];
for (int i=0;i<5;i++)
{
  gekozen[i] = false;
}

string number[5];
number[0] = "1";
number[1] = "2";
number[2] = "3";
number[3] = "4";
number[4] = "5";


string chosen[5];

srand((unsigned)time(0));
int lowest=0, highest=4;
int range=(highest-lowest)+1;


do{
a = lowest+int(range*rand()/(RAND_MAX + 1.0));

if(gekozen[a] == false)
{
cout  << number[a] << " - ";
chosen[b] = number[a];
gekozen[a] = true;
b++;
}

}while(b != 3);


    return 0;
}

is nog maar klein stukje, maar het lijkt erop alsof hij het soms wel doet en soms niet...


als ik het zo doe:

Code:
#include <iostream>
#include <string>
#include <windows.h>
#include <ctime>

using namespace std;

int a,b;
bool gekozen[10];
string number[10];
string chosen[5];

int main()
{

for (int i=0;i<10;i++)
{
  gekozen[i] = false;
}

number[0] = "1";
number[1] = "2";
number[2] = "3";
number[3] = "4";
number[4] = "5";
number[5] = "6";
number[6] = "7";
number[7] = "8";
number[8] = "9";
number[9] = "10";

srand((unsigned)time(0));
int lowest=0, highest=9;
int range=(highest-lowest)+1;


do{
a = lowest+int(range*rand()/(RAND_MAX + 1.0));

if(gekozen[a] == false)
{
cout  << number[a] << " - ";
chosen[b] = number[a];
gekozen[a] = true;
b++;
}

}while(b != 5);


    return 0;
}
werkt het wel ;O
 
Laatst bewerkt:
Wat als je de waarde van b expliciet op 0 zet? Nu gebruik je die variabele ongeïnitialiseerd. Sommige compilers zetten die op 0, maar niet allemaal. (Al verklaart dit niet waarom je tweede code wel werkt.)
 
dat werkte helaas ook niet. Had ik al geprobeerd. Maar is het ook niet zo dat je variabelen die je in de hele code gebruikt buiten de main moet definiëren?
 
Dat is een mogelijkheid, al wordt het gebruik van dergelijke globale variabelen afgeraden. Het is beter om referenties of pointers te gebruiken.
 
Dat snap ik niet helemaal. Kan je een beetje uitleggen wat je daarmee bedoeld?
 
Globale variabelen (variabelen die je buiten een functie definieert) maken de code onoverzichtelijk omdat die overal in de code aangepast kunnen worden. Ik weet niet hoe je C++ hebt geleerd, maar het concept van pointers en referenties wordt uitgelegd in elk boek/elke tutorial over C++. Die kunnen dat bovendien beter uitleggen dan ik in een forumpost.
 
Oh op die manier. Ja, ik snapte alleen niet helemaal wat je bedoelde :) Maar het werkt iig nu wel xD
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan