Advertisement
Guest User

Untitled

a guest
Apr 20th, 2019
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.07 KB | None | 0 0
  1. #include <iostream>
  2. #include <stdlib.h>
  3.  
  4. using namespace std;
  5.  
  6. class Niza
  7. {
  8. private:
  9. int *elementi;
  10. public:
  11. Niza()
  12. {
  13. int broj=1;
  14. elementi = new int[broj];
  15. elementi[0]=0;
  16. }
  17.  
  18. Niza(int *niza, int n)
  19. {
  20. elementi = new int[n];
  21. for(int i=0; i<n; i++)
  22. {
  23. elementi[i]=niza[i];
  24. }
  25. }
  26.  
  27. Niza(int broj, int vrednost=0)
  28. {
  29. elementi = new int[broj];
  30. for(int i=0; i<broj; i++)
  31. {
  32. elementi[i]=vrednost;
  33. }
  34. }
  35.  
  36. Niza(const Niza &n)
  37. {
  38. int br = sizeof(n.elementi)/sizeof(int);
  39. elementi = new int[br];
  40. for(int i=0; i<br; i++)
  41. {
  42. elementi[i]=n.elementi[i];
  43. }
  44. }
  45.  
  46. ~Niza()
  47. {
  48. delete[] elementi;
  49. }
  50.  
  51. void dodadi(int *dodatok, int n)
  52. {
  53. int br = sizeof(elementi)/sizeof(int);
  54. int *elementi_copy = new int[br+n];
  55. for(int i=0; i<br; i++)
  56. {
  57. elementi_copy[i]=elementi[i];
  58. }
  59. delete []elementi;
  60. int j=0;
  61. for(int i=br; i<br+n; i++)
  62. {
  63. elementi_copy[i]=dodatok[j];
  64. j++;
  65. }
  66.  
  67. int *elementi = new int[br+n];
  68. for(int i=0; i<br+n; i++)
  69. {
  70. elementi[i]=elementi_copy[i];
  71. }
  72. delete []elementi_copy;
  73. }
  74.  
  75. void odzemiPrvi(int n)
  76. {
  77. int br=sizeof(elementi);
  78.  
  79. if(n>br)
  80. {
  81. return;
  82. }
  83.  
  84. int *elementi_copy = new int[br-n];
  85. int j=0;
  86. for(int i=n; i<br; i++)
  87. {
  88. elementi_copy[j]=elementi[i];
  89. j++;
  90. }
  91. delete[]elementi;
  92.  
  93. int *elementi = new int[n];
  94. for(int i=0; i<n; i++)
  95. {
  96. elementi[i]=elementi_copy[i];
  97. }
  98.  
  99. delete elementi_copy;
  100. }
  101.  
  102. void odzemiPosledni(int n)
  103. {
  104. int br = sizeof(elementi);
  105. if(n>br)
  106. {
  107. return;
  108. }
  109.  
  110. int *elementi_copy = new int[br-n];
  111. for(int i=0; i<br-n; i++)
  112. {
  113. elementi_copy[i]=elementi[i];
  114. }
  115. delete []elementi;
  116.  
  117. int *elementi = new int[br-n];
  118. for(int i=0; i<br-n; i++)
  119. {
  120. elementi[i]=elementi_copy[i];
  121. }
  122. delete []elementi_copy;
  123. }
  124.  
  125. void pechati()
  126. {
  127. int n=sizeof(elementi);
  128. cout<<"Nizata gi ima slednive elementi:"<<endl;
  129. for(int i=0; i<n; i++)
  130. {
  131. cout<<elementi[i]<<" ";
  132. }
  133. cout<<endl;
  134. }
  135.  
  136. };
  137.  
  138. int main()
  139. {
  140. int nn1[] = { 3,5,7,9 }, nn2[] = { 11,13,15,17,19 };
  141. Niza n1 = Niza(), n2 = Niza(nn1, sizeof(nn1) / sizeof(int));
  142. Niza n3 = Niza(5), n4 = Niza(3, 4);
  143. Niza n5 = n2;
  144. n1.pechati();
  145. n2.pechati();
  146. n3.pechati();
  147. n4.pechati();
  148. n5.pechati();
  149. n2.dodadi(nn2, sizeof(nn2) / sizeof(int));
  150. n2.pechati();
  151. n2.odzemiPrvi(4);
  152. n2.pechati();
  153. n2.odzemiPosledni(2);
  154. n2.pechati();
  155. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement