Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- using namespace std;
- int main() {
- int size = 2;
- int* arr;
- arr = new int[size];
- char userInput= 'z';
- int element= 0;
- int index = 0;
- for (int i = 0; i < 2; i++) {
- arr[i] = NULL;
- }
- while (userInput != 'e') {
- char userInput = 'z';
- cout << "(p): Print array" << endl;
- cout << "(a): Add Element" << endl;
- cout << "(d): Delete Element" << endl;
- cout << "(r): Return size" << endl;
- cout << "(e): Exit" << endl;
- cout << endl;
- cout << "Enter Option: ";
- cin >> userInput;
- switch (userInput) {
- case 'p':
- case 'P':
- if (index == 0) {
- cout << "No Elements"<<endl;
- }
- else
- {
- for (int i = 0; i < element; i++) {
- cout << arr[i] << ", ";
- }
- cout << endl;
- }
- //for (int i = 0; i < get)
- break;
- case 'a':
- case 'A':
- int x;
- cout << "Enter Element: ";
- cin >> x;
- if (index == size) {
- int * temp;
- temp = new int[size=size*2];
- for (int i = 0; i < size; i++) {
- temp[i] = arr[i];
- // i think this is the code to copy the array
- }
- delete[] arr;
- temp[index] = x;
- index++;
- arr = temp; //and have the arr pointer now point to the new array;
- element++;
- cout << "Array expanded" << endl;
- }
- else {
- arr[index] = x;
- index++;
- element++;
- }
- break;
- case 'd':
- case 'D':
- cout << "Enter Element: ";
- int value;
- cin >> value;
- for (int i = 0; i < size; i++)
- {
- if (arr[i] == value)
- {
- index = i;
- int * temp;
- temp = new int[size];
- for (int i = 0; i < size; i++) {
- if (index <= i) {
- temp[i] = arr[i+1];
- }
- else {
- temp[i] = arr[i];
- }
- }
- delete[] arr;
- arr = temp;
- element = element -1;
- index=element;
- }
- }
- break;
- case 'r':
- case 'R':
- cout << "S: "<< size << ", "<<"E: "<<element<<endl;
- break;
- case 'e':
- case 'E':
- cout << "Exiting" << endl;
- delete[] arr; //delallocation to orevent memory leak
- exit(0);
- break;
- for (int i = 0; i < size; i++) {
- if ((arr[i]) != NULL) {
- element = element + 1;
- }
- } //checks the number of elements
- if (element <= size/2) {
- int * temp;
- temp = new int[size = size / 2];
- for (int i = 0; i < size; i++) {
- temp[i] = arr[i];
- // i think this is the code to copy the array
- }
- delete[] arr;
- arr = temp; //and have the arr pointer now point to the new array;
- cout << "Array shrunk" << endl;
- }
- }
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement