Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Программирование на С++, решение задачи

Ева Ворую_котиков Ученик (56), на голосовании 4 месяца назад
Помогите пожалуйста!
Тема: стеки и очереди.
Создать очередь, содержащую целые числа. После всех чисел, равных минимальному числу, вставить последний нечетный элемент. Например, было 2 8 2 1 6 8 8 1 2 2 8 2 1 3. Стало 2 8 2 1 3 6 8 8 1 3 2 2 8 2 1 3
Голосование за лучший ответ
Zahar Cher Мастер (1113) 5 месяцев назад
У gpt спроси
Ева Ворую_котиковУченик (56) 5 месяцев назад
Gpt оочень плохо решает
Zahar Cher Мастер (1113) Александр Окрошкин, значит у отечественного gpt
Татьяна Просветленный (36384) 5 месяцев назад
 #include  
#include
#include
#include
#include

int main() {
// Входные данные
std::vector input = {2, 8, 4, 1, 2, 8, 8, 1, 2, 8};

// Создаем стек и заполняем его входными данными
std::stack s;
for (int num : input) {
s.push(num);
}

// Найдем максимальное и минимальное числа
int maxNum = *std::max_element(input.begin(), input.end());
int minNum = *std::min_element(input.begin(), input.end());

// Создаем очередь для результата
std::queue result;

// Используем временный стек для восстановления порядка
std::stack tempStack;

while (!s.empty()) {
tempStack.push(s.top());
s.pop();
}

// Создаем стек для обработки
while (!tempStack.empty()) {
int current = tempStack.top();
tempStack.pop();

if (current == maxNum) {
result.push(minNum);
}

result.push(current);
}

// Вывод результата
while (!result.empty()) {
std::cout << result.front() << " ";
result.pop();
}
std::cout << std::endl;

return 0;
}
Ева Ворую_котиковУченик (56) 5 месяцев назад
Благодарствую
Похожие вопросы