Answer:
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
void printData(const vector<int>& data) {
for (int value : data) {
cout << value << " ";
}
cout << endl;
}
void addData(vector<int>& data) {
int value;
cout << "Enter a value to add: ";
cin >> value;
data.push_back(value);
cout << "Value added successfully." << endl;
}
void removeData(vector<int>& data) {
if (data.empty()) {
cout << "No data to remove." << endl;
return;
}
int index;
cout << "Enter the index of the value to remove (0-" << data.size() - 1 << "): ";
cin >> index;
if (index >= 0 && index < data.size()) {
data.erase(data.begin() + index);
cout << "Value removed successfully." << endl;
} else {
cout << "Invalid index." << endl;
}
}
void sortDataAscending(vector<int>& data) {
sort(data.begin(), data.end());
cout << "Data sorted in ascending order." << endl;
printData(data);
}
void sortDataDescending(vector<int>& data) {
sort(data.rbegin(), data.rend());
cout << "Data sorted in descending order." << endl;
printData(data);
}
void truncateData(vector<int>& data) {
data.clear();
cout << "Data truncated successfully." << endl;
}
int main() {
vector<int> data;
int choice;
do {
cout << "\\--- Menu ---\\";
cout << "1. Add data\\";
cout << "2. Remove data\\";
cout << "3. Sort data in ascending order\\";
cout << "4. Sort data in descending order\\";
cout << "5. Truncate data\\";
cout << "6. Exit\\";
cout << "Enter your choice (1-6): ";
cin >> choice;
switch (choice) {
case 1:
addData(data);
break;
case 2:
removeData(data);
break;
case 3:
sortDataAscending(data);
break;
case 4:
sortDataDescending(data);
break;
case 5:
truncateData(data);
break;
case 6:
cout << "Exiting program." << endl;
break;
default:
cout << "Invalid choice. Please try again." << endl;
break;
}
} while (choice != 6);
return 0;
}
Step-by-step explanation: