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

Как работает данный код?

09.10.2020, 17:10. Показов 1224. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
#include <iostream>
#include <list>
#include <random>
 
using namespace std;
 
class Random {
public:
    Random() {
        random_device device;
        random_generator.seed(device());
    }
    int next(int first, int last) {
        uniform_int_distribution<int> range(first, last);
        return range(random_generator);
    }
private:
    mt19937 random_generator;
};
class Stack {
public:
    Stack() : capacity_(numeric_limits<size_t>::max()) {}
    Stack(size_t capacity) : capacity_(capacity) {}
    bool empty()const { return stack_.empty(); }
    size_t size()const { return stack_.size(); }
    void push(int value) { if (size() < capacity_) stack_.push_back(value); }
    void pop() { stack_.pop_back(); }
    int& top() { return stack_.back(); }
private:
    size_t capacity_;
    list<int> stack_;
};
int main() {
    const auto n = 50U;
    Stack stack(n);
    Random rand;
    cout << "Input: ";
    for (auto i = 0U; i < n; ++i) {
        auto x = rand.next(1, 9);
        cout << ' ' << x;
        stack.push(x);
    }
    cout << "\nOutput:";
    while (!stack.empty()) {
        cout << ' ' << stack.top();
        stack.pop();
    }
    cout.put('\n');
 
 
    system("pause ");
    return 0;
}
Можете пожалуйста пояснить как работает этот код(что выводит).Желательно через комментарий(//).
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
09.10.2020, 17:10
Ответы с готовыми решениями:

Как работает данный код? И почему не компилируется?
Обьясните пожалуйста как работает данный код, и скажите почему он не компилируется? И есть ли способ считать числа еще быстрее? ...

Как работает данный код и почему такой вывод?
Написал какой-то код, выводит в дебаге 5 в релизе 0 #include &lt;iostream&gt; using namespace std; void print_num(int f) { ...

Почему работает данный код?
В разделе &quot;Комбинаторика&quot; ( https://www.cyberforum.ru/combinatorics/thread572992.html ) задали вопрос: Сколько четырехзначных чисел можно...

3
Эксперт CЭксперт С++
 Аватар для liv
5120 / 4574 / 855
Регистрация: 07.10.2015
Сообщений: 9,462
09.10.2020, 17:31
Лучший ответ Сообщение было отмечено K1MeR как решение

Решение

K1MeR,
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
int main() {
    const auto n = 50U;
    Stack stack(n);                 //создаем стек из n элементов
    Random rand;                    //создаем класс случайных чисел
    cout << "Input: ";
    for (auto i = 0U; i < n; ++i) { // n раз
        auto x = rand.next(1, 9);   // случайное число [1,9]
        cout << ' ' << x;           // выводим
        stack.push(x);              // и в стек
    }
    cout << "\nOutput:";
    while (!stack.empty()) {        //пока стек не пуст
        cout << ' ' << stack.top(); //выводим элемент с вершины стека
        stack.pop();                //удаляем этот элемент из вершины стека
    }
    cout.put('\n');                 //в итоге выводим введенные числа в обратном порядке
 
 
    system("pause ");
    return 0;
}
1
1 / 1 / 0
Регистрация: 29.02.2020
Сообщений: 229
09.10.2020, 18:11  [ТС]
Спасибо огромное!

Добавлено через 18 секунд
liv, Спасибо огромное!
0
1 / 1 / 0
Регистрация: 29.02.2020
Сообщений: 229
13.10.2020, 16:44  [ТС]
liv, Реализовать класс Complex для работы с комплексными числами можете пожалуйста помочь с кодом?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
13.10.2020, 16:44
Помогаю со студенческими работами здесь

Почему данный код не работает в компиляторе VS?
Почему данный код не работает в компиляторе Visual Studio 2019? В qt creator'e работает исправно. Код простой, он просто считывает с...

Как сократить данный код?
Во время урока алгебры Незнайка написал следующую таблицу на доске: a b a2b ab2 12 2 288 48 -1 -1 -1 -1 9 -3 -243 81 ...

Как можно оптимизировать данный код?
И... Ещё один вопрос: Дан участок кода С++: #include &lt;iostream&gt; #include &quot;Windows.h&quot; using namespace...

Как исправить данный код сортировки?
Вот только не надо никаких анализов, вопросов, и т. д. Конкретно мой пример. Программа на некоторых компиляторах не компилируется....

Как работает данный swap?
Как данный swap работает? Почему там i и j поменялась местами? Что и каком образом она даст результат? И почему во втором цикле j...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru