Прочее образование
Срочно, сижу на экзамене, нужна помощь пожалуйста
Создать класс список. поля: количество элементов, указатель на массив б содержащий элементы. Методы: распечатать, добавить элемент, удалить элемент. Создать для класса три конструктора: без параметров, с параметрами, копирования. Создать деструктор для класса. протестировать функциональность в main
Вот пример класса под названием «Список», который включает указанные вами поля и методы:
Скопировать код
class List {
private:
int numElements;
int *b;
public:
// Constructors
List() {
numElements = 0;
b = nullptr;
}
List(int n, int *arr) {
numElements = n;
b = new int[n];
for (int i = 0; i < n; i++) {
b[i] = arr[i];
}
}
List(const List &lst) {
numElements = lst.numElements;
b = new int[numElements];
for (int i = 0; i < numElements; i++) {
b[i] = lst.b[i];
}
}
// Destructor
~List() {
delete[] b;
}
// Methods
void print() {
for (int i = 0; i < numElements; i++) {
cout << b[i] << " ";
}
cout << endl;
}
void addElement(int element) {
int *temp = new int[numElements + 1];
for (int i = 0; i < numElements; i++) {
temp[i] = b[i];
}
temp[numElements] = element;
numElements++;
delete[] b;
b = temp;
}
void removeElement(int element) {
int index = -1;
for (int i = 0; i < numElements; i++) {
if (b[i] == element) {
index = i;
break;
}
}
if (index != -1) {
int *temp = new int[numElements - 1];
int j = 0;
for (int i = 0; i < numElements; i++) {
if (i != index) {
temp[j] = b[i];
j++;
}
}
numElements--;
delete[] b;
b = temp;
}
}
};
Вы можете протестировать функциональность класса в своей основной функции, создав экземпляр класса, добавив элементы, распечатав список, удалив элементы и снова распечатав список.
Скопировать код
int main() {
int arr[] = {1, 2, 3};
List lst1(3, arr); // Using constructor with parameters
lst1.print(); // Prints 1 2 3
lst1.addElement(4); // Adding element 4
lst1.print(); // Prints 1 2 3 4
lst1.removeElement(2); // Removing element 2
lst1.print(); // Prints 1 3 4
return 0;
}
Важно отметить, что это простой пример, и в более сложной программе вы можете включить обработку ошибок, дополнительную проверку ввода и другие функции в соответствии с вашими потребностями.
Скопировать код
class List {
private:
int numElements;
int *b;
public:
// Constructors
List() {
numElements = 0;
b = nullptr;
}
List(int n, int *arr) {
numElements = n;
b = new int[n];
for (int i = 0; i < n; i++) {
b[i] = arr[i];
}
}
List(const List &lst) {
numElements = lst.numElements;
b = new int[numElements];
for (int i = 0; i < numElements; i++) {
b[i] = lst.b[i];
}
}
// Destructor
~List() {
delete[] b;
}
// Methods
void print() {
for (int i = 0; i < numElements; i++) {
cout << b[i] << " ";
}
cout << endl;
}
void addElement(int element) {
int *temp = new int[numElements + 1];
for (int i = 0; i < numElements; i++) {
temp[i] = b[i];
}
temp[numElements] = element;
numElements++;
delete[] b;
b = temp;
}
void removeElement(int element) {
int index = -1;
for (int i = 0; i < numElements; i++) {
if (b[i] == element) {
index = i;
break;
}
}
if (index != -1) {
int *temp = new int[numElements - 1];
int j = 0;
for (int i = 0; i < numElements; i++) {
if (i != index) {
temp[j] = b[i];
j++;
}
}
numElements--;
delete[] b;
b = temp;
}
}
};
Вы можете протестировать функциональность класса в своей основной функции, создав экземпляр класса, добавив элементы, распечатав список, удалив элементы и снова распечатав список.
Скопировать код
int main() {
int arr[] = {1, 2, 3};
List lst1(3, arr); // Using constructor with parameters
lst1.print(); // Prints 1 2 3
lst1.addElement(4); // Adding element 4
lst1.print(); // Prints 1 2 3 4
lst1.removeElement(2); // Removing element 2
lst1.print(); // Prints 1 3 4
return 0;
}
Важно отметить, что это простой пример, и в более сложной программе вы можете включить обработку ошибок, дополнительную проверку ввода и другие функции в соответствии с вашими потребностями.
Похожие вопросы
- Быстро! Нужна помощь! У брата экзамен! Помогите, пожалуйста!!!!
- Помогите пожалуйста. Сижу на экзамене, не могу решить. Ответы по существу. (Химия)
- Срочно нужна помощь!!! Скиньте пожалуйста АНАЛИЗ стихотворения Ф. Тютчева "Наш век"!!! Пожалуйста!!! (помощнику 10б.)
- срочно нужен сценарий!!! Пожалуйста, срочно нужен сценарий праздника самовара, чая, чаепития. Спасибо!!!
- как избавиться от лени?? нужна помощь срочно
- Нужна помощь...срочно!!!
- Нужна помощь срочно!!!
- нужна помощь!очень нужен текст на немецком языке о Германии,её городах и реках.ПОЖАЛУЙСТА ПОМОГИТЕЕЕ)
- Нужна помощь тех, кто хорошо знает англ!!!
- Помогите высчитать EXEL, СРОЧНО РЕБЯТ! ПОСЛЕДНИЙ ЭКЗАМЕН, МАМА УБЬЕТ.