Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //Zad22-18c-s13810
- #include <iostream>
- using namespace std;
- template <class Typ>
- Typ min_max (Typ tab[], int size, bool (*F)(Typ t1, Typ t2)){
- Typ ekstremum = tab[0];
- for(int i=0; i<size; i++){
- if(F(tab[i], ekstremum))
- ekstremum = tab[i];
- }
- return ekstremum;
- }
- template <class Typ>
- void show_tab(Typ tab[], int size){
- for(int i=0; i<size; i++)
- cout << tab[i] << " ";
- cout << endl;
- }
- template <class Typ>
- bool mniejsze(Typ pierwszy, Typ drugi){
- return pierwszy < drugi;
- }
- template <class Typ>
- bool wieksze(Typ pierwszy, Typ drugi){
- return pierwszy > drugi;
- }
- int main()
- {
- char text[] = "lalamidoczyliporykiwanieszarpidrutow";
- int size = sizeof(text)-1;
- show_tab(text, size);
- bool (*wskaz_char)(char, char);
- wskaz_char = wieksze;
- char wyn_char = min_max(text, size, wskaz_char);
- cout << " najwiekszy: " << wyn_char;
- wskaz_char = mniejsze;
- wyn_char = min_max(text, size, wskaz_char);
- cout << " najmniejszy: " << wyn_char << endl << endl;
- int inty[] = {6, 5, 4, 3, 9, 8, 7};
- size = sizeof(inty)/sizeof(int);
- show_tab(inty, size);
- bool (*wskaz_int)(int, int);
- wskaz_int = wieksze;
- int wyn_int = min_max(inty, size, wskaz_int);
- cout << " najwiekszy: " << wyn_int;
- wskaz_int = mniejsze;
- wyn_int = min_max(inty, size, wskaz_int);
- cout << " najmniejszy: " << wyn_int << endl << endl;
- double duble[] = {5.324, -1.111, 9.87654, 123.456, -101.010, 33.33};
- size = sizeof(duble)/sizeof(double);
- show_tab(duble, size);
- bool (*wskaz_double)(double, double);
- wskaz_double = wieksze;
- double wyn_double = min_max(duble, size, wskaz_double);
- cout << " najwiekszy: " << wyn_double;
- wskaz_double = mniejsze;
- wyn_double = min_max(duble, size, wskaz_double);
- cout << " najmniejszy: " << wyn_double << endl << endl;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement