Thread View: be.comp.programming
5 messages
5 total messages
Started by Ahum
Wed, 11 Dec 2002 22:59
Beginner C++ met een array vraagje
Author: Ahum
Date: Wed, 11 Dec 2002 22:59
Date: Wed, 11 Dec 2002 22:59
18 lines
1566 bytes
1566 bytes
Hallo,
Kan iemand me op weg helpen met dit probleem.
Een Array....
Int Array[] = {1,2,3,4,5,6,7,8,9,10};
Ik wil nu het getal 6 uit dit array halen EN de lege plaats(waar 6 stond)
verwijderen zodanig
dat er in Array nu 1,2,3,4,5,7,8,9,10 zit...
Ik heb al een paar voorbeelden over arrays bekeken maar vind niet echt wat
ik nodig heb...
Kan iemand me een voorbeeld schrijven ( liefst zo eenvoudig mogelijk want ik
ben nog maar pas begonnen met zelfstudie van C++ )
Tnhx, Pieter
Re: Beginner C++ met een array vraagje
Author: Aquila
Date: Thu, 12 Dec 2002 06:23
Date: Thu, 12 Dec 2002 06:23
35 lines
2040 bytes
2040 bytes
"Ahum" <trapper@pandora.be> wrote:
>
>Hallo,
>
>Kan iemand me op weg helpen met dit probleem.
>
>Een Array....
>
>Int Array[] = {1,2,3,4,5,6,7,8,9,10};
>Ik wil nu het getal 6 uit dit array halen EN de lege plaats(waar 6 stond)
>verwijderen zodanig
>dat er in Array nu 1,2,3,4,5,7,8,9,10 zit...
>
>Ik heb al een paar voorbeelden over arrays bekeken maar vind niet echt wat
>ik nodig heb...
>
>Kan iemand me een voorbeeld schrijven ( liefst zo eenvoudig mogelijk want ik
>ben nog maar pas begonnen met zelfstudie van C++ )
>
>Tnhx, Pieter
>
Klinkt raar als je voor het eerst C++ gebruikt, maar gebruik een
vector! Die zijn v��l beter en veiliger dan arrays, en ook het
verwijderen lukt vlot:
vector<int> getallen;
getallen.push_back(1);
/*enz... (kan ook nog beter gedaan worden maar dat moet je maar eens
zoeken)*/
getallen.erase(find(getallen.begin(),getallen.end(),6));
(Hopelijk staan er geen fouten in, ik ben redelijk wakker...)
--
Aquila
"May the source be with you"
Re: Beginner C++ met een array vraagje
Author: Nicolas Barbier
Date: Thu, 12 Dec 2002 09:47
Date: Thu, 12 Dec 2002 09:47
16 lines
1682 bytes
1682 bytes
Ahum wrote:
> Int Array[] = {1,2,3,4,5,6,7,8,9,10};
> Ik wil nu het getal 6 uit dit array halen EN de lege plaats(waar 6 stond)
> verwijderen zodanig
> dat er in Array nu 1,2,3,4,5,7,8,9,10 zit...
Dat gaat niet met normale array's in C++. Als je de grootte dynamisch wil
aanpassen kan je bijvoorbeeld een van de container-classes uit de STL
gebruiken <url:http://www.sgi.com/tech/stl/>. "vector" lijkt hierbij het
meeste op een gewone array (NOTE: het inserten en deleten van elementen in
het midden neemt O(n) tijd, dus als je dat constant moet doen, kijk dan
eens naar de andere classes).
--
Nicolas Barbier
Re: Beginner C++ met een array vraagje
Author: Roel Schroeven
Date: Thu, 12 Dec 2002 10:04
Date: Thu, 12 Dec 2002 10:04
28 lines
2305 bytes
2305 bytes
Ahum wrote:
> Hallo,
>
> Kan iemand me op weg helpen met dit probleem.
>
> Een Array....
>
> Int Array[] = {1,2,3,4,5,6,7,8,9,10};
> Ik wil nu het getal 6 uit dit array halen EN de lege plaats(waar 6 stond)
> verwijderen zodanig
> dat er in Array nu 1,2,3,4,5,7,8,9,10 zit...
>
Met een array moet je dat handmatig doen, d.w.z. alle elementen die
achter de 6 stonden een plaatsje naar voor schuiven.
In C zou dat de enige mogelijkheid zijn, in C++ zijn er alternatieven, u
aangeboden door de STL. Je zou bijvoorbeeld, zoals andere posters ook al
zeiden, een vector kunnen gebruiken. Maar erg effici�nt is dat nog
steeds niet, want achter de schermen moet die hetzelfde doen als wat ik
hierboven beschreef.
Als je dikwijls elementen ergens in het midden van de reeks moet
verwijderen en/of invoegen, ben je beter af met een list. De manier van
werken is grotendeels hetzelfde als bij een vector.
In ieder geval is het geen slecht idee de STL eens te bekijken, zodat je
voor al dat soort dingen niet elke keer opnieuw het wiel moet uitvinden.
Re: Beginner C++ met een array vraagje
Author: Ahum
Date: Fri, 13 Dec 2002 05:29
Date: Fri, 13 Dec 2002 05:29
3 lines
1156 bytes
1156 bytes
Bedankt kerels... Kzal er eens aan beginnen....
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads