Advertisement
Guest User

Untitled

a guest
Nov 13th, 2019
97
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.35 KB | None | 0 0
  1. #include <iostream>
  2.  
  3. class Array
  4. {
  5. public:
  6.     Array(size_t);
  7.     ~Array();
  8.     void printArray() const;
  9.     void initArray() const;
  10.     void setElement(size_t, float) const;
  11.     size_t getSize() const;
  12.     float getElement(size_t) const;
  13. private:
  14.     float* arr;
  15.     size_t size;
  16. };
  17.  
  18. Array::Array(size_t size)
  19. {
  20.     arr = new float[size];
  21.     Array::size = size;
  22. }
  23.  
  24. Array::~Array()
  25. {
  26.     delete[] arr;
  27. }
  28.  
  29.  
  30. void Array::printArray() const
  31. {
  32.     for (size_t i = 0; i < size; i++)
  33.         std::cout << *(arr + i) << ' ';
  34.  
  35.     std::cout << "\n";
  36. }
  37.  
  38. void Array::initArray() const
  39. {
  40.     for (size_t i = 0; i < size; i++)
  41.         std::cin >> *(arr + i);
  42. }
  43.  
  44. void Array::setElement(size_t index, float value) const
  45. {
  46.     if (index < 0 || index > size - 1)
  47.         throw std::invalid_argument("Invalid index");
  48.  
  49.     arr[index] = value;
  50. }
  51.  
  52. size_t Array::getSize() const
  53. {
  54.     return size;
  55. }
  56.  
  57. float Array::getElement(size_t index) const
  58. {
  59.     if (index < 0 || index > size - 1)
  60.         throw std::invalid_argument("Invalid index");
  61.  
  62.     return *(arr + index);
  63. }
  64.  
  65.  
  66. int main()
  67. {
  68.     size_t size;
  69.  
  70.     std::cout << "Enter array size:";
  71.     std::cin >> size;
  72.  
  73.     Array array(size);
  74.  
  75.     try {
  76.         array.initArray();
  77.         array.printArray();
  78.         array.setElement(5, 10);
  79.         array.printArray();
  80.  
  81.         std::cout << array.getSize() << std::endl;
  82.     }
  83.     catch (const std::exception& ex)
  84.     {
  85.         std::cout << ex.what() << "\n";
  86.     }
  87. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement