Форум программистов, компьютерный форум, киберфорум
Наши страницы
C для начинающих
Войти
Регистрация
Восстановить пароль
Другие темы раздела
C (СИ) Как реализовать директиву #define для создания шаблона отпределения #define ? http://www.cyberforum.ru/c-beginners/thread779332.html
Здравствуйте уважаемые. При написании программы появилась необходимость задать шаблон создания #define через #define (извините за тавтологию) И никак не получается его реализовать Привожу код: ...
C (СИ) Вывести максимальный элемент, встречающийся более одного раза
Данн массив A(k*m)Нужно вывести максимальный элемент встречающийся более одного раза #include "stdafx.h" #include "iostream" using namespace std; int main() {...
C (СИ) Переставить элементы массива по правилу
Дано одномерный массив В, который составляется с 2n элементов. Розместить в такой последовательности B,B,....,B,B,B,....,B
C (СИ) Определить, встречается ли число 7 в массиве целых чисел Напишите программу, которая дает ответ "да" или "нет", в зависимости от того, встречается ли число 7 у массиве целых чисел http://www.cyberforum.ru/c-beginners/thread779191.html
C (СИ) Eclipse для С http://www.cyberforum.ru/c-beginners/thread779168.html
Чтобы компилировать C и C++ исходные тексты, используя Eclipse что необходимо установить?
Найти сумму положительных элеменов на главной диагонали матрицы C (СИ)
#include <stdio.h> #include <conio.h> #include <alloc.h> int xsum(int n, int *x) { int i,s; for(s=0,i=0;i<n;i++) s+=x; return s; }
Вычисление суммы бесконечного ряда C (СИ)
Условие: вот мои наработки но мне кажется тут все не правильно #include <stdio.h> #include <conio.h> #include <math.h> main() { double S,xmin,xmax=1,wag=0.1,e=pow(10,-4),n,i,fact,z; ...
C (СИ) Найти длину медианы BM и биссектрисы CW треугольника Треугольник задан кординатами его вершин А(0 ; 0), В(і ; і-1), С(-і ; і+1) где і - номер варианта. Вариант вводить с клавиатуры. Знайти длину медианы BM и биссектрисы CW. http://www.cyberforum.ru/c-beginners/thread779055.html
C (СИ) Найти сумму положительных элементов матрицы на главной диагонали http://www.cyberforum.ru/c-beginners/thread779047.html
матрица 4х4 вводится из файла, задачу решать с помощью подпрограммы
C (СИ) Алгоритм решения системы уравнений Допустим у нас имеется система уравнений с двумя неизвестными. нужно составить алгоритм на языке СИ, который бы решил эту систему. была идея реализовать это с помощью метода гауса, но также не могу... http://www.cyberforum.ru/c-beginners/thread778990.html
victor72
0 / 0 / 0
Регистрация: 05.02.2013
Сообщений: 10
0

Инициализация, добавление и удаление элементов в СТЕКЕ через связный список

05.02.2013, 18:26. Просмотров 1841. Ответов 2
Метки (Все метки)

День добрый,
нужна помощь со стеками.
Передо мною стоит задача:
1) Инициализировать СТЕК через связный список
2) Добавить элемент в СТЕК, вывести на экран СТЕК
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
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
// Stack (Test).cpp: определяет точку входа для консольного приложения.
//
#include "stdafx.h"
#include <iostream>
using namespace std;
 
const int del = 3;      //number of elements that we will delete
 
struct STACK
{
    float Value;
    STACK *Link;
};
 
struct Using_Stack
{
    STACK *Top, *Bot;
    void (*Init)(Using_Stack*);
    void (*Push)(Using_Stack*, float );
    float (*Pop)(Using_Stack*);
};
 
void Init_Sub (Using_Stack *MyStack)
{
    MyStack->Top = 0;   
    MyStack->Bot = 0;   
};
 
void Push_Sub (Using_Stack *MyStack, float Character)
{
    STACK *New_El = new STACK;
    New_El->Value = Character;
    New_El->Link = 0;
    if (MyStack->Top == 0)
    {
        MyStack->Top = New_El;
        MyStack->Bot = New_El;
    }
    else
    {
        MyStack->Bot->Link = New_El;
        MyStack->Bot = New_El;
    }
};
 
float Pop_Sub (Using_Stack *MyStack)
{
    STACK *Del;
    float Reading;
    if (MyStack->Top != 0)
    {
        Del = MyStack->Top;
        Reading = Del->Value;
        MyStack->Top = MyStack->Top->Link;
        delete Del;
    }
    return Reading;
};
 
void main ()
{
    Using_Stack *MyStack;
    MyStack = new Using_Stack;
 
    MyStack->Init = Init_Sub;
    MyStack->Push = Push_Sub;
    MyStack->Pop = Pop_Sub;
 
    MyStack->Init (MyStack);    //Initialization of Top and Bot
    int Add;
    float Symb;
    int i = 0;
 
    MyStack->Push (MyStack, 10);        //Recording of one value
    MyStack->Push (MyStack, 20);
 
    printf("Our Stack is...");
    printf("\n\n %c", MyStack->Top->Value);
    printf("\n %c", MyStack->Top->Link->Value);
    printf("\n\n Enter the value you want to ADD \n");
    scanf_s("%c", &Symb);
    MyStack->Push (MyStack,Symb);
 
    printf("\n\n So, now our Stack is");
    printf("\n\n %c", MyStack->Top->Value);
    printf("\n %c", MyStack->Top->Link->Value);
    printf("\n %c \n\n", MyStack->Top->Link->Link->Value);  //???
 
    printf("\n And now we will DELETE one value \n\n\n");
    float Read;
    Read = MyStack->Pop (MyStack);      //Reading of one value
    printf("\n Value which we will delete is - ");
    printf("%c \n\n", Read);
    printf("And now, our Stack is");
    printf("\n\n %c", MyStack->Top->Value);
    printf("\n %c \n\n\n", MyStack->Top->Link->Value);
    
}
Буду благодарен за помощь.

Вернуться к обсуждению:
Инициализация, добавление и удаление элементов в СТЕКЕ через связный список
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.02.2013, 18:26
Готовые ответы и решения:

Связный список. Необходимо создать новый связный список только из положительных элементов
Задача: Прочитать из файла связный список. Потом из этого списка создать еще один, в котором будут...

Инициализация, добавление и удаление элементов в СТЕКЕ
День добрый, нужна помощь со стеками. Передо мною стоит задача: 1) Инициализировать СТЕК через...

Связный список; удаление равных максимальному элементов
считать числа в связный список, найти макс. элемент, удалить из списка все элементы, равные...

Связный список (Используя структуру описания даты, построить связный список студентов, сформированный в алфавитном порядке)
Здраствуйте! Помогите пожалуйста найти косяк. Выводится только первая строчка из списка студентов....

Связный список, удаление
написал программу работы со списком... проблема в удалении элемента по его имени(в процедуре...

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