Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
 Аватар для KostyaKulakov
64 / 52 / 2
Регистрация: 02.07.2012
Сообщений: 391
Записей в блоге: 2

написание функции

21.08.2012, 15:18. Показов 946. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Stack.cpp
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
#include "Stack.h"
 
Node* push(Node** pTop, info_t value)
{
    Node* newNode = new Node;
    newNode->info = value;
    newNode->prev = *pTop;
    *pTop = newNode;
    return newNode;
}
 
 
info_t pop(Node** pTop)
{
    Node* oldTop = *pTop;
    info_t info = oldTop->info;
 
    *pTop = (*pTop)->prev;
    delete oldTop;
    return info;
}
 
info_t getTopValue(Node* top)
{
    return top->info;
}
 
void printStackElement(Node** top)
{
 
    while (!isEmpty(*top))
    {
        cout << pop(*&top) << endl;
    }
 
 
    
}
 
bool isEmpty(Node* top)
{
    return top == NULL;
}
Stack.h
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
#ifndef STACK_H_
#define STACK_H_
 
#include <iostream>
using namespace std;
 
#define NULL 0
 
typedef char info_t;
 
struct Node
{
    info_t info;
    Node* prev;
};
 
/* Функция добавляет в стек новый элемент со значением value
   и возвращает указатель на новую вершину стека */
Node* push(Node** pTop, info_t value);
 
/* Функция удаляет элемент с вершины стека и возвращает
   хранившееся там значение. Функция НЕ проверяет, пуст ли стек.
   Ответственность за проверку того, что стек не пуст, ложится
   на вызывающую функцию. */
info_t pop(Node** pTop);
 
/* Функция возвращает значение, хранящееся в элементе, находящемся
   в вершине стека. Ответственность за проверку того, что стек не пуст,
   ложится на вызывающую функцию. */
info_t getTopValue(Node* top);
 
/* Функция проверяет, не пуст ли стек */
bool isEmpty(Node* top);
 
/* Функция печатает, все элементы стэка. */
void printStackElement(Node** top);
 
#endif
main.cpp
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include "Stack.h"
 
int main()
{
    Node* top = NULL;
 
    // Заполнение стека некоторыми элементами
    push(&top, '(');
    push(&top, '[');
    push(&top, '{');
 
    // Извлечение и печать всех элементов стека
    printStackElement(&top);
    cout << endl;
 
    printStackElement(&top);
//  printStackElement(&top);
 
}
суть в том нужно сделать так чтобы функция printStackElement не трогала значения ну те выводила их и не изменяла ну или потом возращала на свои места. она ивзлекает их и всё только 1 раз можно эту функцию применить а мне надо чтобы хоть сколько. вот хз как сделать
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
21.08.2012, 15:18
Ответы с готовыми решениями:

Написание функции
Ребята можете пожалуйста помочь с задачей? Написать функцию, которая возвращает строку, в которой все символы исходной строки...

Написание хэш-функции
Решил освоить хэш-функции, ну и, соответственно, написать реализации большинства. Вопросы неизбежны, поэтому, думаю, буду отписываться в...

Написание своей функции swap()
Доброго времени суток. Решил написать свою функцию по смене местами переменных переменных. Вот код: #include &lt;iostream&gt; ...

4
Каратель
Эксперт С++
6610 / 4029 / 401
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
21.08.2012, 15:27
сделай класс "стек" и будет тебе счастье
1
 Аватар для KostyaKulakov
64 / 52 / 2
Регистрация: 02.07.2012
Сообщений: 391
Записей в блоге: 2
21.08.2012, 15:56  [ТС]
я ешё про классы незнаю нечего можно ли другим способом?
0
Каратель
Эксперт С++
6610 / 4029 / 401
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
21.08.2012, 16:02
Цитата Сообщение от KostyaKulakov Посмотреть сообщение
я ешё про классы незнаю
так узнай
Цитата Сообщение от KostyaKulakov Посмотреть сообщение
можно ли другим способом?
сделать через ж... можно всегда
1
~ Эврика! ~
 Аватар для OhMyGodSoLong
1258 / 1007 / 74
Регистрация: 24.07.2012
Сообщений: 2,002
21.08.2012, 16:02
Значит пришло время узнать. И про шаблоны.

В Node же есть указатель prev. Пройдитесь циклом по типу
C++
1
2
3
for (Node *i = stack_top; i != NULL; i = i->prev) {
  std::cout << i->info;
}
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
21.08.2012, 16:02
Помогаю со студенческими работами здесь

Написание функции для for_each
Хочу распечатать список list через свою функцию используя for_each, но я не могу понять как заставить эту for_each работать с моей...

Написание функции сложения строк
Необходимо написать функцию сложения двух строк по следующему принципу: &quot;abc&quot; + &quot;qwerty&quot; -&gt; &quot;aqbwcerty&quot; У меня...

Написание шаблонной функции swap
Добрый вечер, в качестве упражнения пытаюсь написать собственнную шаблонную функцию swap. Если переменные имеют одинаковый тип, проблем...

Написание программы вычисления функции. Ошибка
Написал программу, не могу понять, где описать часть условия, и вывести главное. Задание написать программу вычисления функции: ...

Написание функции на С++ (поиск максимального элемента)
Написать функцию поиска максимального элемента, использовать ее для поиска среди 4х и 5 чисел. Количество чисел передавать в функцию в...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 30.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO Апнулись до NET10. Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта так и в интерактивном режиме. из сложностей - чисто функциональный подход. Решил. . .
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2. Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники". В. . .
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии. . . .
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru