10.09.2013 Views

Dictaat SOPX3 - Harry Broeders

Dictaat SOPX3 - Harry Broeders

Dictaat SOPX3 - Harry Broeders

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

......<br />

Geef een letter: h<br />

......<br />

Geef een letter: a<br />

.a....<br />

Geef een letter: r<br />

.a....<br />

Geef een letter: r<br />

.a....<br />

Geef een letter: y<br />

.a....<br />

Geef een letter: g<br />

ga.g..<br />

Geef een letter: e<br />

ga.g.e<br />

Geef een letter: l<br />

galg.e<br />

Geef een letter: j<br />

galgje<br />

6.8 Voorbeeldprogramma met het standaard algoritme find_if.<br />

Dit programma laat zien hoe je het standaard algoritme find_if kan gebruiken om positieve getallen<br />

te zoeken. De zoekvoorwaarde (condition) wordt op drie verschillende manieren opgegeven:<br />

• door middel van een functie die een bool teruggeeft die aangeeft of aan de voorwaarde wordt<br />

voldaan.<br />

• door middel van een functie-object met een overloaded operator() die een bool teruggeeft<br />

die aangeeft of aan de voorwaarde wordt voldaan.<br />

• door middel van een standaard functie-object. In dit geval gebruiken we een standaard comparisor<br />

die wordt omgezet in een predicate met behulp van een binder.<br />

#include <br />

#include <br />

#include <br />

#include <br />

using namespace std;<br />

bool ispos(int i) {<br />

return i>=0;<br />

}<br />

class IsPos {<br />

public:<br />

bool operator()(int i) const {<br />

return i>=0;<br />

}<br />

};<br />

int main() {<br />

list l;<br />

l.push_back(-3);<br />

l.push_back(-4);<br />

l.push_back(3);<br />

l.push_back(4);<br />

list::iterator r;<br />

// Zoeken met een functie als zoekvoorwaarde.<br />

r=find_if(l.begin(), l.end(), ispos);<br />

if (r!=l.end())<br />

cout

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!