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

Создание, просмотр и удаление элементов списка, организованного по принципу LIFO - C++

Восстановить пароль Регистрация
 
Дана18
0 / 0 / 0
Регистрация: 10.10.2014
Сообщений: 121
18.11.2014, 14:49     Создание, просмотр и удаление элементов списка, организованного по принципу LIFO #1
Что делать? Программа просит идентификатор true, false.
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
57
58
59
60
61
62
63
64
65
66
67
#include "stdafx.h"
#include <iostream>
#include <process.h>
#include <conio.h>
using namespace std;
//визначення перелічуваного типу користувача boolean
enum boolean(true, false);
//визначення шаблону елемента списку за допомогою типу struct
struct stack{
    char s;
    stack* p;
};
//оператор typedef дозволяє створити тип користувача Stk, який є
//аналогом стандартного типу stack*
typedef stack* Stk;
Stk stk;
//функція reset() повертає порожній покажчик (адресу) вершини стеку,
//тобто відбувається “скидання” стеку
Stk reset()
{
    return NULL;
}
//функція push(char c, Stk top) заносить символ с, що введено, на вершину стеку, утворюючи новий елемент списку типу stack и
//повертає його адресу як адресу першого елемента в списку
Stk push(char c, Stk top)
{
    stk = new stack;
    if (stk == NULL){
        cout << "\n Помилка під час розподілу пам’яті";
        exit(1);
    }
    stk->s = c;
    if (top != NULL) stk->p = top;
    return stk;
}
/*функція pop( Stk top) виштовхує елемент вершини, видає символ ,
що зберігається в вершині, на екран, замінює адресу попередньої
вершини адресою вершини, що йде за нею, а місце, що було розподілено
під попередню вершину, звільняється (повертається до “купи” вільної
пам’яті)*/
Stk pop(Stk top)
{
    cout << top->s;
    stk = top;
    top = top->p;
    delete stk;
    return top->p;
}
//функція empty( const Stk top) перевіряє, чи є стек порожнім, повертає
// константу false, якщо це так
boolean empty(const Stk top)
{
    return (boolean)(top == NULL);
}
void main()
{
    Stk top;
    char str[] = "fghg hfgt dtdt dtyd dtyf";
    int i = 0;
    cout << str;
    top = reset();
    while (str[i])
        top = push(str[i++], top);
    while (!empty(top))
        top = pop(top);
    getch();
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.11.2014, 14:49     Создание, просмотр и удаление элементов списка, организованного по принципу LIFO
Посмотрите здесь:

Удаление элементов из списка C++
C++ Удаление элементов из списка
C++ Удаление элементов из списка
C++ Удаление повторяющихся элементов из списка
Удаление элементов из списка C++
C++ Удаление элементов списка
Удаление элементов из списка C++
C++ Удаление элементов из списка
C++ Удаление элементов из списка
C++ Удаление элементов из списка
Вывод списка, LIFO и FIFO C++
Удаление элементов из списка C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
mss307
118 / 118 / 25
Регистрация: 14.12.2013
Сообщений: 352
18.11.2014, 14:55     Создание, просмотр и удаление элементов списка, организованного по принципу LIFO #2
Цитата Сообщение от Дана18 Посмотреть сообщение
Что делать? Программа просит идентификатор true, false.
Подробней скажи, что ты хочешь получить и что получаешь по факту? если ошибку, то текст ошибки представь.

Добавлено через 22 секунды
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
57
58
59
60
61
62
63
64
65
66
67
#include "stdafx.h"
#include <iostream>
#include <process.h>
#include <conio.h>
using namespace std;
//визначення перелічуваного типу користувача boolean
enum boolean(true, false);
//визначення шаблону елемента списку за допомогою типу struct
struct stack{
char s;
stack* p;
};
//оператор typedef дозволяє створити тип користувача Stk, який є
//аналогом стандартного типу stack*
typedef stack* Stk;
Stk stk;
//функція reset() повертає порожній покажчик (адресу) вершини стеку,
//тобто відбувається “скидання” стеку
Stk reset()
{
return NULL;
}
//функція push(char c, Stk top) заносить символ с, що введено, на вершину стеку, утворюючи новий елемент списку типу stack и
//повертає його адресу як адресу першого елемента в списку
Stk push(char c, Stk top)
{
stk = new stack;
if (stk == NULL){
cout << "\n Помилка під час розподілу пам’яті";
exit(1);
}
stk->s = c;
if (top != NULL) stk->p = top;
return stk;
}
/*функція pop( Stk top) виштовхує елемент вершини, видає символ ,
що зберігається в вершині, на екран, замінює адресу попередньої
вершини адресою вершини, що йде за нею, а місце, що було розподілено
під попередню вершину, звільняється (повертається до “купи” вільної
пам’яті)*/
Stk pop(Stk top)
{
cout << top->s;
stk = top;
top = top->p;
delete stk;
return top->p;
}
//функція empty( const Stk top) перевіряє, чи є стек порожнім, повертає
// константу false, якщо це так
boolean empty(const Stk top)
{
return (boolean)(top == NULL);
}
void main()
{
Stk top;
char str[] = "fghg hfgt dtdt dtyd dtyf";
int i = 0;
cout << str;
top = reset();
while (str[i])
top = push(str[i++], top);
while (!empty(top))
top = pop(top);
getch();
}
Добавлено через 1 минуту
Цитата Сообщение от mss307 Посмотреть сообщение
enum boolean(true, false);
логичней сделать
C++
1
enum boolean{false, true};
zss
Модератор
Эксперт С++
 Аватар для zss
6048 / 5651 / 1826
Регистрация: 18.12.2011
Сообщений: 14,437
Завершенные тесты: 1
18.11.2014, 14:56     Создание, просмотр и удаление элементов списка, организованного по принципу LIFO #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
54
55
56
57
58
59
60
61
62
63
64
65
66
#include <iostream>
#include <process.h>
#include <conio.h>
using namespace std;
//визначення перелічуваного типу користувача boolean
//enum boolean(true, false);
//визначення шаблону елемента списку за допомогою типу struct
struct stack{
    char s;
    stack* p;
};
//оператор typedef дозволяє створити тип користувача Stk, який є
//аналогом стандартного типу stack*
typedef stack* Stk;
Stk stk;
//функція reset() повертає порожній покажчик (адресу) вершини стеку,
//тобто відбувається “скидання” стеку
Stk reset()
{
    return NULL;
}
//функція push(char c, Stk top) заносить символ с, що введено, на вершину стеку, утворюючи новий елемент списку типу stack и
//повертає його адресу як адресу першого елемента в списку
Stk push(char c, Stk top)
{
    stk = new stack;
    if (stk == NULL){
        cout << "\n Помилка під час розподілу пам’яті";
        exit(1);
    }
    stk->s = c;
    if (top != NULL) stk->p = top;
    return stk;
}
/*функція pop( Stk top) виштовхує елемент вершини, видає символ ,
що зберігається в вершині, на екран, замінює адресу попередньої
вершини адресою вершини, що йде за нею, а місце, що було розподілено
під попередню вершину, звільняється (повертається до “купи” вільної
пам’яті)*/
Stk pop(Stk top)
{
    cout << top->s;
    stk = top;
    top = top->p;
    delete stk;
    return top->p;
};
//функція empty( const Stk top) перевіряє, чи є стек порожнім, повертає
// константу false, якщо це так
bool empty(const Stk top)
{
    return (top == NULL);
}
void main()
{
    Stk top;
    char str[] = "fghg hfgt dtdt dtyd dtyf";
    int i = 0;
    cout << str;
    top = reset();
    while (str[i])
        top = push(str[i++], top);
    while (!empty(top))
        top = pop(top);
    getch();
}
mss307
118 / 118 / 25
Регистрация: 14.12.2013
Сообщений: 352
18.11.2014, 14:58     Создание, просмотр и удаление элементов списка, организованного по принципу LIFO #4
zss,
Дана18, прости, тебе не знаком тип bool просто?
Yandex
Объявления
18.11.2014, 14:58     Создание, просмотр и удаление элементов списка, организованного по принципу LIFO
Ответ Создать тему
Опции темы

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