Advertisement
vilmosnagy

hftest 8. feladat

Mar 31st, 2013
470
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.39 KB | None | 0 0
  1.  
  2. #ifndef _F8H
  3. #define _F8H
  4.  
  5. #include <iostream>
  6. #include <iomanip>
  7. #include <stdexcept>
  8.  
  9. template<unsigned int sizet>
  10. class F8{
  11. private:
  12.     double t[sizet];
  13.     unsigned int size;
  14. public:
  15.     F8() : size(0){}
  16.     double& operator[](unsigned int i) {
  17.         if(i < 0 || i > sizet - 1)
  18.             throw std::out_of_range("Indexelési hiba");
  19.         if (size < i) size = i;
  20.         return t[i];
  21.     }
  22.     const double& operator[](unsigned int i) const {
  23.         if(i < 0 || i > sizet - 1)
  24.             throw std::out_of_range("Indexelési hiba");
  25.         //if (size < i) size = i;
  26.         return t[i];
  27.     }
  28.  
  29.     void rendez(){
  30.         for(int i = 0; i < size + 1; i++){
  31.             for(int j = i+1; j < size + 1; j++){
  32.                 if (t[i] < t[j]){
  33.                     double swap = t[i];
  34.                     t[i] = t[j];
  35.                     t[j] = swap;
  36.                 }/*if*/
  37.             }/*for j*/
  38.         }/*for i*/
  39.     }
  40.  
  41.     char* c_str(){
  42.         return "Nagy Vilmos <[email protected]> VIRNN9\0";
  43.    }
  44. };
  45.  
  46. template<unsigned int sizet>
  47. std::ostream& operator<<(std::ostream& os, const F8<sizet> from){
  48.     std::cout.setf( std::ios::fixed);
  49.     std::cout.precision(4);
  50.     os << from[25] << std::endl
  51.     << from[58] << std::endl
  52.     << from[10] << std::endl
  53.     << from[120] << std::endl
  54.     << from[454] << std::endl;
  55.     return os;
  56. }
  57.  
  58. #endif
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement