Advertisement
werandrew

Untitled

Mar 31st, 2021
108
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.56 KB | None | 0 0
  1. #include <iostream>
  2. #include <ctime>
  3. #include <iomanip>
  4. #include <algorithm>
  5. #include <iterator>
  6.  
  7. using namespace std;
  8.  
  9. template<typename T>
  10. class arr{
  11.     T * dynam_arr;
  12.     int size;
  13. public:
  14.     ~arr();
  15.     arr(int smth);
  16.     arr(arr & obj);
  17.     void input();
  18.     void coup();
  19.     friend ostream& operator<< (ostream& os,const arr&object){
  20.         cout << object.size << "\n";
  21.         for(int i = 0;i<object.size;++i)
  22.             cout << setprecision(5) << object.dynam_arr[i] << " ";
  23.     }
  24. };
  25. template<typename T>
  26. arr<T>::arr(arr &obj){
  27.     size = obj.size;
  28.     for(int i = 0;i<size;++i){
  29.         dynam_arr[i] = obj.dynam_arr[i];
  30.     }
  31.     obj.size = NULL;
  32.     delete [] obj.dynam_arr;
  33. }
  34. template<typename T>
  35. arr<T>::arr(int smth){
  36.     dynam_arr = new T[smth];
  37.     size = smth;
  38. }
  39. template<typename T>
  40. void arr<T>::input(){
  41.     for(int i = 0;i<size;++i){
  42.         cin >> dynam_arr[i];
  43.     }
  44. }
  45. template<typename T>
  46. void arr<T>::coup(){
  47.     for(int i = 0;i<size/2;++i){
  48.         int temp = dynam_arr[i];
  49.         dynam_arr[i] = dynam_arr[size-i-1];
  50.         dynam_arr[size-i-1] = temp;
  51.     }
  52. }
  53. template<typename T>
  54. arr<T>::~arr(){
  55.     delete[]dynam_arr;
  56. }
  57. int main()
  58. {
  59.     int size=0;
  60.  
  61.     cin >> size;
  62.     arr<int>a(size);
  63.     a.input();
  64.  
  65.     cin >> size;
  66.     arr<char>a1(size);
  67.     a1.input();
  68.  
  69.     cin >> size;
  70.     arr<float>a2(size);
  71.     a2.input();
  72.  
  73.     a.coup();
  74.     a1.coup();
  75.     a2.coup();
  76.  
  77.     cout << a;
  78.     cout << "\n";
  79.     cout << a1;
  80.     cout << "\n";
  81.     cout << a2;
  82.  
  83.     cout << endl;
  84.     return 0;
  85. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement