Lucky134Lucky

Untitled

Mar 24th, 2016
41
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.37 KB | None | 0 0
  1. #include <iostream>
  2.  
  3. using namespace std;
  4. class ArrayList{
  5. public:
  6.  
  7. ArrayList(int p){
  8.  
  9. razmer = p;
  10. mass = new int[razmer];
  11. obnulit(mass, razmer);
  12. }
  13.  
  14. void obnulit(int mass[], int razmer){
  15.  
  16. for(int i = 0; i < razmer; i++){
  17.  
  18. mass[i] = 0;
  19. }
  20. }
  21. void set(int position, int value){
  22.  
  23. if(position>=count)
  24. cout<<"Net takogo elementa"<<endl;
  25. else
  26. mass[position] = value;
  27. }
  28.  
  29. int get(int position){
  30.  
  31. if(position>=count) return 0;
  32. return mass[position];
  33. }
  34. void newSpace(){
  35. razmer*=2;
  36.  
  37. int* k = new int[razmer];
  38. obnulit(k, razmer);
  39.  
  40. for(int i = 0; i < razmer/2 ; i++){
  41. k[i] = mass[i];
  42. }
  43. delete mass;
  44. mass = k;
  45. }
  46. void push(int value){
  47. if(count==razmer-1){
  48. newSpace();
  49. }
  50. mass[count] = value;
  51. count++;
  52. }
  53.  
  54. ~ArrayList(){
  55. delete[] mass;
  56. }
  57.  
  58. int pop(){
  59. count--;
  60. int i = mass[count];
  61.  
  62. return i;
  63. }
  64. int quantity(){
  65. return count;
  66. }
  67. private:
  68. int count = 0;
  69. int razmer;
  70. int* mass;
  71. };
  72. int main()
  73. {
  74. ArrayList d(1);
  75. int x = -1;
  76. int value;
  77. int position;
  78.  
  79. cout << "1 dlya dobavlenia elementa" << endl
  80. << "2 dlya dlya uborki" << endl
  81. << "3 dlya polucheniya elementa" << endl
  82. << "4 dlya izmeneniya elementa" << endl
  83. << "0 dlya vihoda" << endl;
  84.  
  85. while (x !=0){
  86.  
  87. cout<<endl<<"Vvedi nomer: ";
  88. cin>>x;
  89. switch(x){
  90. case 1: cout << "vvedi chislo ";
  91. cin >> value;
  92. d.push(value); break;
  93. case 2: cout<<d.pop()<<endl;break;
  94.  
  95. case 3:
  96. cout << "vvedi positsiyu: ";
  97. cin >> position;
  98.  
  99. cout<< d.get(position)<<endl; break;
  100.  
  101. case 4: cout << "vvedi positsiyu: ";
  102. cin >> position;
  103. cout << "vvedi chislo: ";
  104. cin >> value;
  105.  
  106. d.set(position, value); break;
  107. }
  108. cout << "Spisok seychas: ";
  109. for(int i = 0; i < d.quantity(); i++)
  110. cout<<d.get(i);
  111.  
  112. if(d.quantity() == 0)
  113. cout<<"pust";
  114. }
  115. }
Add Comment
Please, Sign In to add comment