vimix

VarArray.cpp

Apr 2nd, 2013
58
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.85 KB | None | 0 0
  1.  
  2. #include"varArray.h"
  3. #include <iostream>
  4.  
  5. using namespace std;
  6.  
  7.  
  8.  
  9. varArray::varArray(void){
  10. size = 0;
  11. array = new int[size];
  12. }
  13. varArray::varArray(const varArray& rhs){
  14. size = rhs.size;
  15. array = new int[size];
  16.  
  17. for (int i = 0; i < size; i++) {
  18. array[i] = rhs.array[i];
  19. }
  20. }
  21. varArray& varArray::operator=(const varArray& rhs){
  22. delete [] array;
  23. array = new int[rhs.size];
  24. size = rhs.size;
  25. for (int i = 0; i < size; i++) {
  26. array[i] = rhs.array[i];
  27. }
  28.  
  29. return *this;
  30.  
  31. }
  32. varArray::~varArray(void){
  33. size = 0;
  34. delete [] array;
  35. }
  36. void varArray::addNumber(int number){
  37. // create a new array;
  38. //increment the size and copy the first array to the second one;
  39.  
  40. int* ptr;
  41. ptr = new int[size + 1];
  42. size = size + 1;
  43.  
  44. for(int i = 0; i < size - 1 ; ++i) {
  45. ptr[i] = array[i];
  46. }
  47.  
  48. //put the number inside the last element of ptr;
  49. //delete old array;
  50. ptr[size - 1] = number;
  51.  
  52. delete [] array;
  53. array = ptr;
  54.  
  55.  
  56. }
  57. void varArray::removeNumber(int number){
  58. int* ptr;
  59. ptr = new int [size - 1];
  60.  
  61. for(int i = 0, ptrcounter = 0; i < size; ++i){
  62. if (array[i] != number) {
  63. ptr[ptrcounter] = array[i];
  64. ++ptrcounter;
  65. }
  66. }
  67. size = size - 1;
  68. delete [] array;
  69. array = ptr;
  70.  
  71. }
  72.  
  73. void varArray::output(void){
  74. cout << "your numbers: ";
  75. for (int i = 0; i < size; i++) {
  76. cout << array[i] << " ";
  77. }
  78. cout << endl;
  79.  
  80. }
  81. void varArray::sortNumber(){
  82. int *ip;
  83. ip = new int[size];
  84. int originalSize =size;
  85. for(int j = 0; j < originalSize; ++j){
  86. int smallestNumber = array[0];
  87. for(int i = 1; i < size; ++i){
  88. if(array[i] < smallestNumber){
  89. smallestNumber = array[i];
  90. }
  91. }
  92. ip[j] = smallestNumber;
  93. removeNumber(smallestNumber);
  94. }
  95. delete [] array;
  96. array = new int[originalSize];
  97.  
  98. for (int i = 0; i < originalSize; ++i)
  99. {
  100. array[i] = ip[i];
  101. }
  102. size = originalSize;
  103. 3}1
Advertisement
Add Comment
Please, Sign In to add comment