Advertisement
Dr4noel

POO - LAB 4 - EX 1

Apr 3rd, 2018
101
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.86 KB | None | 0 0
  1. ###########################################################################
  2. EXERCITIUL 1
  3. ###########################################################################
  4. #include <iostream>
  5. #include <conio.h>
  6. using namespace std;
  7.  
  8. class Multime {
  9. private:
  10.     int nr;
  11.     int* m;
  12. public:
  13.     Multime(int n = 0);
  14.     Multime(const Multime& v);
  15.     ~Multime();
  16.     int getNrElement();
  17.     int getElement(int i);
  18.     void setElement(int i, int val);
  19.     int apare(int val);
  20.     void citire();
  21.     void afisare();
  22. };
  23.  
  24. //Constructor de initializare
  25. Multime::Multime(int n) {
  26.     nr = n;
  27.     m = new int[nr];
  28.     for (int i = 0; i < n; i++) {
  29.         *(m + i) = 0;
  30.     }
  31. }
  32.  
  33. //Constructor de copiere
  34. Multime::Multime(const Multime& v) {
  35.     nr = v.nr;
  36.     m = new int[v.nr];
  37.  
  38.     for (int i = 0; i < nr; i++) {
  39.         this->m[i] = v.m[i];
  40.     }
  41. }
  42.  
  43. //Destructor
  44. Multime::~Multime() {
  45.     if (m) {
  46.         delete m;
  47.     }
  48. }
  49.  
  50. int Multime::getNrElement() {
  51.     return nr;
  52. }
  53.  
  54. int Multime::getElement(int i) {
  55.     return *(m + i);
  56. }
  57.  
  58. void Multime::setElement(int i, int val) {
  59.     *(m + i) = val;
  60. }
  61.  
  62. int Multime::apare(int val) {
  63.     int ceva = 0;
  64.     for (int i = 0; i < nr; i++) {
  65.         if (*(m + i) == val) {
  66.             return 1;
  67.             ceva = 1;
  68.             break;
  69.         }
  70.     }
  71.     if (ceva == 0) {
  72.         return 0;
  73.     }
  74. }
  75.  
  76. void Multime::citire() {
  77.     for (int i = 0; i < nr; i++) {
  78.         cout << "Elem #" << i << " = ";
  79.         cin >> *(m + i);
  80.     }
  81. }
  82.  
  83. void Multime::afisare() {
  84.     cout << "Elementele sunt :( ";
  85.     for (int i = 0; i < nr; i++) {
  86.         cout << *(m + i);
  87.         cout << " ";
  88.     }
  89.     cout << ")";
  90. }
  91.  
  92. void main() {
  93.     Multime ceva(5);
  94.  
  95.     ceva.citire();
  96.     ceva.afisare();
  97.     cout << "\nNr de elemente este : " << ceva.getNrElement();
  98.     cout << "\nElementul  2 este : " << ceva.getElement(1);
  99.     ceva.setElement(1, 7);
  100.     cout << "\nAcum elementul 2 este : " << ceva.getElement(1);
  101.     cout << "\n" << ceva.apare(7) << "\n";
  102.  
  103.     Multime altceva(ceva);
  104.     altceva.afisare();
  105.  
  106.     _getch();
  107. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement