0

Работа с очередью. 67 практическое задание C++

Мы продолжаем разрабатывать нашу систему управления очередью, которую мы создали в предыдущем модуле. Вам необходимо добавить новую функциональность: объединить две очереди вместе. В результате должна получиться новая очередь, в которой сначала идут элементы первой очереди, а затем элементы второй очереди. Дан класс Queue, перегрузите оператор +, чтобы код в main работал и успешно объединял две очереди. Уже стало немного не понятно. Может подскажете что можно сделать?

16th Oct 2022, 5:09 PM
IMOWWW
IMOWWW - avatar
2 odpowiedzi
+ 1
#include <iostream> using namespace std; class Queue { int size; int* queue; public: Queue() { size = 0; queue = new int[100]; } void add(int data) { queue[size] = data; size++; } void remove() { if (size == 0) { cout << "Queue is empty"<<endl; return; } else { for (int i = 0; i < size - 1; i++) { queue[i] = queue[i + 1]; } size--; } } void print() { if (size == 0) { cout << "Queue is empty"<<endl; return; } for (int i = 0; i < size; i++) { cout<<queue[i]<<" <- "; } cout << endl; } //ваш код }; int main() { Queue q1; q1.add(42); q1.add(2); q1.add(8); q1.add(1); Queue q2; q2.add(3); q2.add(66); q2.add(128); q2.add(5); Queue q3 = q1+q2; q3.print(); return 0; }
16th Oct 2022, 5:12 PM
IMOWWW
IMOWWW - avatar
0
Queue operator+(Queue &q){ Queue q3; for(int i=0;i<size;i++){ q3.add(queue [i]); } for(int i=0;i<q.size ;i++){ q3.add(q.queue[i]); } return q3; } };
16th Mar 2024, 2:46 AM
РАДЖАН ЖУМАНОВИЧ
РАДЖАН ЖУМАНОВИЧ - avatar