Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- using namespace std;
- template <typename T>
- class MinMax
- {
- T min;
- T max;
- unsigned int rozmiar;
- T *wartosc;
- public:
- MinMax(const int liczba);
- T & operator[](const unsigned int i);
- T Min();
- T Max();
- void Show();
- ~MinMax() { delete [] wartosc;}
- };
- template <typename T>
- MinMax<T>::MinMax(const int liczba):
- min(0), max(0), rozmiar(liczba)
- {
- wartosc = new T[liczba];
- for(int i=0; i<liczba; ++i)
- {
- wartosc[i] = 0;
- }
- };
- template <typename T>
- T & MinMax<T>::operator[](const unsigned int i)
- {
- if(i>=0 && i<rozmiar) return wartosc[i];
- cout << "\nPrzekroczony zakres! Zwrocono ostatni element.\n";
- return wartosc[rozmiar-1];
- }
- template <typename T>
- T MinMax<T>::Min()
- {
- min=wartosc[0];
- for(unsigned int i=0; i<rozmiar; ++i)
- {
- if(wartosc[i] < min) min = wartosc[i];
- }
- return min;
- }
- template <typename T>
- T MinMax<T>::Max()
- {
- max=wartosc[0];
- for(unsigned int i=0; i<rozmiar; ++i)
- {
- if(wartosc[i] > max) max = wartosc[i];
- }
- return max;
- }
- template <typename T>
- void MinMax<T>::Show()
- {
- for(unsigned int i=0; i<rozmiar; ++i)
- {
- cout << wartosc[i] << " ";
- }
- cout << "\nMaksimum: " << Max()
- << "\nMinimum: " << Min() << endl;
- }
- int main()
- {
- MinMax<int> mmi(10);
- MinMax<float> mmf(10);
- MinMax<unsigned long int> mmuli(10);
- mmi.Show();
- mmi[2] = 2;
- mmi[5] = 5;
- mmi[0] = -5;
- mmi.Show();
- cout << "\n================================\n\n";
- cout << "Dla float: "; mmf.Show();
- mmf[2] = 2.2222f;
- mmf[5] = 5.55555f;
- mmf[0] = -5.44421342f;
- mmf.Show();
- cin.get();
- return 0;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement