Advertisement
werandrew

Untitled

Mar 13th, 2021
122
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.15 KB | None | 0 0
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. class Array {
  5.     int len;
  6.     int* data;
  7.  
  8. public:
  9.     Array();
  10.     ~Array();
  11.  
  12.     int length() { return len; }
  13.     void reverse();
  14.  
  15.     friend ostream& operator << (ostream&, const Array&);
  16.     friend istream& operator >> (istream&, Array&);
  17.  
  18.     int& operator[](int);
  19. };
  20. Array::Array(){
  21.         len=0; data=0;
  22. }
  23. Array::~Array(){
  24.         if(data!=0){
  25.             delete[] data;
  26.             data=0;
  27.  
  28.         }
  29. }
  30.  
  31. void Array::reverse(){
  32. for (int i = 0, j = len - 1; i < j; ++i, --j) {
  33. swap(data[i], data[j]);
  34. }
  35. }
  36.  
  37.  istream& operator>>(istream& inp, Array& a) {
  38.      inp>>a.len;
  39.      a.data=new int[a.len];
  40. for (int i = 0; i < a.len; ++i) inp >> a.data[i];
  41. return inp;
  42.  }
  43.    ostream& operator<<(ostream& out, const Array& a) {
  44.      out<<a.len<<endl;
  45. for (int i = 0; i < a.len; ++i){
  46.     out<< a.data[i] << ' ';
  47. }
  48. return out;
  49.  
  50. }
  51. int& operator[](int ind) {
  52.      return data_[ind];
  53. }
  54.  
  55. int main() {
  56.     Array arr;
  57.     cin >> arr;
  58.     int k;
  59.     cin >> k;
  60.     for (int i = 0; i < k; i++) {
  61.         int ind;
  62.         cin >> ind;
  63.         cout << arr[ind] << " ";
  64.     }
  65.     return 0;
  66. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement