Advertisement
Guest User

Untitled

a guest
Dec 6th, 2019
116
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.56 KB | None | 0 0
  1. #include <iostream>
  2. //using namespace std;
  3.  
  4. template<class T, class T1> class array
  5. {
  6. public:
  7. array(int size);
  8. T1 sum();
  9. T average_value();
  10. void show_array();
  11. int add_value(T);
  12. private:
  13. T* data;
  14. int size;
  15. int index;
  16. };
  17.  
  18. template<class T, class T1> array<T, T1>::array(int size)
  19. {
  20. data = new T[size];
  21. if (data == NULL)
  22. {
  23. std::cerr << "Error memory ---- exit program" << std::endl;
  24. exit(1);
  25. }
  26. array::size = size;
  27. array::index = 0;
  28. }
  29. template<class T, class T1> T1 array<T, T1>::sum()
  30. {
  31. T1 sum = 0;
  32. for (int i = 0; i < index; i++) sum += data[i];
  33. return(sum);
  34. }
  35. template<class T, class T1> T array<T, T1>::average_value()
  36. {
  37. T1 sum = 0;
  38. for (int i = 0; i < index; i++) sum += data[i];
  39. return (sum / index);
  40. }
  41. template<class T, class T1> void array<T, T1>::show_array()
  42. {
  43. for (int i = 0; i < index; i++) std::cout << data[i] << ' ';
  44. std::cout << std::endl;
  45. }
  46. template<class T, class T1> int array<T, T1>::add_value(T value)
  47. {
  48. if (index == size)
  49. return(-1);
  50. else
  51. {
  52. data[index] = value;
  53. index++;
  54. return(0);
  55. }
  56. }
  57.  
  58. int main() {
  59. array<int, long> numbers(100);
  60. array<float, float> values(200);
  61. int i;
  62. for (i = 0; i < 50; i++) numbers.add_value(i);
  63. numbers.show_array();
  64. std::cout << "Sum = " << numbers.sum() << std::endl;
  65. std::cout << "Average = " << numbers.average_value() << std::endl;
  66. for (i = 0; i < 100; i++) values.add_value(i * 100);
  67. values.show_array();
  68. std::cout << "Sum = " << values.sum() << std::endl;
  69. std::cout << "Average = " << values.average_value() << std::endl;
  70. return 0;
  71. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement