Zaawansowane CPP/Ćwiczenia 9: Szablony wyrażeń: Różnice pomiędzy wersjami

Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania
Mirek (dyskusja | edycje)
Nie podano opisu zmian
Mirek (dyskusja | edycje)
Nie podano opisu zmian
Linia 9: Linia 9:
powinno wygenerować :
powinno wygenerować :


  <nowiki>-------------
  <nowiki>--------------
| 0 | 0 || 0 |     
| 0 | 0 || 0 |     
| 0 | 1 || 0 |     
| 0 | 1 || 0 |     
| 1 | 0 || 0 |     
| 1 | 0 || 0 |     
| 1 | 1 || 1 |     
| 1 | 1 || 1 |     
-------------</nowiki>
--------------</nowiki>


Podobnie dla <tt>table1</tt> i <tt>table3</tt>.
Podobnie dla <tt>table1</tt> i <tt>table3</tt>.
Linia 34: Linia 34:
powinno wygenerować:  
powinno wygenerować:  


  <nowiki>-------------
  <nowiki>--------------
| 0 | 0 || 1 |     
| 0 | 0 || 1 |     
| 0 | 1 || 1 |     
| 0 | 1 || 1 |     
| 1 | 0 || 0 |     
| 1 | 0 || 0 |     
| 1 | 1 || 1 |     
| 1 | 1 || 1 |     
-------------</nowiki>
--------------</nowiki>
a
a


Linia 81: Linia 81:
powinno wygenerować:  
powinno wygenerować:  


  <nowiki>-------------
  <nowiki>--------------
| 0 | 0 || 1 |     
| 0 | 0 || 1 |     
| 0 | 1 || 1 |     
| 0 | 1 || 1 |     
| 1 | 0 || 0 |     
| 1 | 0 || 0 |     
| 1 | 1 || 1 |     
| 1 | 1 || 1 |     
-------------
--------------</nowiki>


a
a
Linia 94: Linia 94:
powinno wygenerować:  
powinno wygenerować:  


  <nowiki>---------
  <nowiki>----------
| 0 || 0 |     
| 0 || 0 |     
| 1 || 1 |     
| 1 || 1 |     
---------</nowiki>
----------</nowiki>


<div class="mw-collapsible mw-made=collapsible mw-collapsed"><span class="mw-collapsible-toogle mw-collapsible-toogle-default style="font-variant:small-caps">Rozwiązanie</span><div class="mw-collapsible-content" style="display:none">
<div class="mw-collapsible mw-made=collapsible mw-collapsed"><span class="mw-collapsible-toogle mw-collapsible-toogle-default style="font-variant:small-caps">Rozwiązanie</span><div class="mw-collapsible-content" style="display:none">

Wersja z 12:47, 21 wrz 2006

Ćwiczenie 1

Zaimplementuj szablony funkcji table1, table2 i table3, generujące tabele prawdy dla jednej, dwu lub trzech zmiennych logicznych. Argumentem tych funkcji ma być funkcja przyjmująca, w zależności od funkcji, od 1 do 3 argumentów typu bool, np.:

 bool And(bool q,bool r) {return q && r;}
 table2(And2) ;

powinno wygenerować :

--------------
| 0 | 0 || 0 |    
| 0 | 1 || 0 |    
| 1 | 0 || 0 |    
| 1 | 1 || 1 |    
--------------

Podobnie dla table1 i table3.

Rozwiązanie

Ćwiczenie 2

{{{3}}}

Ćwiczenie 3

Zaimplementuj szablon funkcji, który będzie przyjmował jako jeden z parametrów szablonu ilość zmiennych logicznych i będzie łączył działanie funkcji table1, table2 i table3. Np.:

table<2>(And);

powinno być równoważne wywołaniu:

table2(And);
Podpowiedź
Rozwiązanie

Ćwiczenie 2

{{{3}}}