🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

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
#6485
Author: Ahum
Date: Wed, 11 Dec 2002 22:59
18 lines
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
#6486
Author: Aquila
Date: Thu, 12 Dec 2002 06:23
35 lines
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
#6487
Author: Nicolas Barbier
Date: Thu, 12 Dec 2002 09:47
16 lines
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
#6213
Author: Roel Schroeven
Date: Thu, 12 Dec 2002 10:04
28 lines
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
#6221
Author: Ahum
Date: Fri, 13 Dec 2002 05:29
3 lines
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