Dictaat SOPX3 - Harry Broeders
Dictaat SOPX3 - Harry Broeders
Dictaat SOPX3 - Harry Broeders
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