Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
MagicianHarry
0 / 0 / 0
Регистрация: 23.09.2013
Сообщений: 21
#1

Стек - C++

24.09.2013, 19:02. Просмотров 359. Ответов 4
Метки нет (Все метки)

Как сделать чтобы стек заполнялся в диапазоне -50..+50 , размерность вводится с клавиатуры? Помогите пожалуйста добавить в этот код.
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
54
55
56
#include <stdio.h>
#include <conio.h>
 
#define LEN 100
 
int g_count1 = 0;
int g_count2 = 0;
int* g_v = NULL;
int* g_v2 = NULL;
 
int n = 105;
 
void push(int* gv, int& g_count, int val)
{
    if (g_count >= LEN) return;
    gv[g_count++] = val;
}
 
bool pop(int* gv, int& g_count, int* pval)
{
    if (g_count <= 0 || pval == NULL) return 0;
    if (pval != NULL) *pval = gv[--g_count];
    return 1;
}
 
int main(int argc, char* argv[])
{
    if (g_v == NULL)
    {
        g_v = new int[LEN+1];
        g_v2 = new int[LEN+1];
    }
 
    int i = -50;
    while (i <= 50) push(g_v,g_count1,i++);
 
    int val = 0;
    while (pop(g_v,g_count1,&val))
    {
        if ((val % 2) == 0)
            push(g_v2, g_count2, val);
    }
    
    while (pop(g_v2,g_count2,&val))
        printf("%d\n",val);
 
    if (g_v != NULL && g_v2 != NULL) 
    {
        delete[] g_v;
        delete[] g_v2;
    }
 
    _getch();
 
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.09.2013, 19:02     Стек
Посмотрите здесь:

Программа добавляет введенный массив 5*5 в стек и выводит полученный стек двумя столбцами - C++
Программа добавляет введенный массив 5*5 в стек и выводит полученный стек двумя столбцами #include &lt;iostream&gt; #include &lt;stdlib.h&gt; ...

при работе рекурсивной функции заканчивается стек и программа соответственно; как сделать так, чтобы она писала "стек закончился"? - C++
Сабж g++ 4.5.0

Стек - C++
#include &quot;stdafx.h&quot; #include &lt;iostream&gt; using namespace std; class Stack_mass { public: int *data; int max_count,...

Стек - C++
Создать программу, реализовав работу со структурой данных - стеком. В программе реализовать добавление и удаление элементов. вот у...

Стек - C++
помогите реализовать стек через структуру.....тоесть мне надо забить данные и вывести их читал в книгах понял мало #include...

Стек на С++ - C++
Программа должна преобразовывать введенное с клавиатуры выражение в обратную польскую. Не понимаю в чем и где ошибка, помогите #include...

Стек - C++
Как увеличить стек в Visual C++ Добавлено через 1 минуту 54 секунды #pragma comment (Linker,&quot;/stack:xxx) не передлагать.

стек - C++
программа создает стек, удаляет вершину, удаляет выбранный элемент, сортирует стек, выводжит его на печать ПРОКОММЕНТИРУЙТЕ плиз...

Стек - C++
Добрый день(вечерь, ночь и утро-выбирайте сами). Вообще, я редко прибегаю к помощи другим, но этот случай меня вынудил))) обыскался по...

Стек в С++ - C++
Пожалуйста помогите разобраться! Напишите пример стека в прграмме и объясните пошагово его действие... Среда программирования С + + ...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
VEINHORN
543 / 92 / 22
Регистрация: 16.12.2011
Сообщений: 317
24.09.2013, 20:30     Стек #2
MagicianHarry, вы хотите чтобы контроль за диапазоном был в main или в функциях push, pop?
MagicianHarry
0 / 0 / 0
Регистрация: 23.09.2013
Сообщений: 21
24.09.2013, 21:01  [ТС]     Стек #3
Цитата Сообщение от MCKLAS Посмотреть сообщение
MagicianHarry, вы хотите чтобы контроль за диапазоном был в main или в функциях push, pop?
В main.
DiffEreD
1429 / 766 / 95
Регистрация: 21.06.2011
Сообщений: 1,740
Записей в блоге: 2
24.09.2013, 21:30     Стек #4
C++
1
2
srand(static_cast<unsigned>(std::time(nullptr)));
stk.push(-50 + rand()%101);
MagicianHarry
0 / 0 / 0
Регистрация: 23.09.2013
Сообщений: 21
25.09.2013, 18:19  [ТС]     Стек #5
Цитата Сообщение от DiffEreD Посмотреть сообщение
C++
1
2
srand(static_cast<unsigned>(std::time(nullptr)));
stk.push(-50 + rand()%101);
Спасибо, но куда именно вставить эти строки?

Добавлено через 19 часов 50 минут
DiffEreD, Куда именно вставить эти строки?
Yandex
Объявления
25.09.2013, 18:19     Стек
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru