Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
0 / 0 / 0
Регистрация: 22.05.2018
Сообщений: 2

почему при компиляции, в консоле высвечивет нажмите любую клавишу для продолжения? что не так?

22.05.2018, 21:26. Показов 1127. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#include <iostream>
#include <map>
#include <stack>
#include <functional>
#include <utility>
#include <stdlib.h>
 
using namespace std;
 
int main(int argc, char** argv) {
    stack<double> s;  stack< pair<int, char> > ops;
 
    auto p = [&s, &ops](function<double(double, double)>& f)
    {double r = s.top(); s.pop(); r = f(s.top(), r); s.pop(); s.push(r); ops.pop(); };
 
    map< char, pair< int, function<double(double, double)> > > m =
    { { '+',{ 1, [](double a, double b) {return a + b; } } },{ '-',{ 1, [](double a, double b) {return a - b; } } },
    { '*',{ 2, [](double a, double b) {return a * b; } } },{ '/',{ 2, [](double a, double b) {return a / b; } } } };
 
    const int order = 2; int level = 0;
    for (char* sp = argv[1];; ++sp) {
        while (*sp == '(') { level += order; ++sp; }
 
        s.push(strtod(sp, &sp));
 
        while (*sp == ')') { level -= order; ++sp; }
 
        if (!*sp) { while (!ops.empty()) p(m[ops.top().second].second); break; }
 
        const int op = m[*sp].first + level;
        while (!ops.empty() && ops.top().first >= op) p(m[ops.top().second].second);
 
        ops.push(make_pair(op, *sp));
    }
 
    cout << s.top() << endl;
    return 0;
}
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
22.05.2018, 21:26
Ответы с готовыми решениями:

почему при компиляции, в консоле высвечивет нажмите любую клавишу для продолжения? что не так? должен быть реализирован
OPERATORS = {'+': (1, lambda x, y: x + y), '-': (1, lambda x, y: x - y), '*': (2, lambda x, y: x * y), '/': (2, lambda x, y:...

Для продолжения нажмите любую клавишу . . .
Наверно глупый вопрос, но как это убрать? Т.е. чтобы консоль не ожидала ничего, а работала как в релизе.

Для продолжения нажмите любую клавишу . . .
Собственно глупый наверно вопрос,но не могу его решить. Программа работает корректно, но нужно чтобы выражение &quot;Для...

1
"C with Classes"
2022 / 1404 / 523
Регистрация: 16.08.2014
Сообщений: 5,885
Записей в блоге: 1
22.05.2018, 21:31

Не по теме:

стоп

если в argv[1] передавать ( то программа доходит нормально до return 0
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
22.05.2018, 21:31
Помогаю со студенческими работами здесь

Как скрыть строку: для продолжения нажмите любую клавишу?
Я новичок. Интересуюсь, как, с помощью какой команды в C++, скрыть строку в MS DOS: ,,Для продолжения нажмите любую клавишу&quot; ?

При просмотре результата, выводится только "Для продолжения нажмите любую клавишу"
Здравствуйте, пользуюсь компилятором Dev-C++. Для теста решил вывести &quot;Hello World&quot;, вывелось. После этого попробовал воспользоваться...

Реализовать в программе "Для продолжения нажмите любую клавишу"
Приветствую. В некоем деле использую консольную утилиту, подбирая ее вывод. Он многострочен, нужно выбирать определенную строку, но не в...

Не высвечивается сообщение "Для продолжения нажмите на любую клавишу . . . " ?
Почему не показывается при завершении выполнения программы не высвечивается сообщение &quot;Для продолжения нажмите на любую клавишу . . ....

В консоли выводится только "Для продолжения нажмите любую клавишу . . ."
Написал первую программу &quot;Hello world!&quot; в Visual Studio 2017. Компилируется, но при запуске выводится только &quot;Для продолжения нажмите...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru