С Новым годом! Форум программистов, компьютерный форум, киберфорум
Turbo Pascal
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 29.09.2016
Сообщений: 6
1

Удаление границ стека

10.12.2016, 23:05. Показов 575. Ответов 0
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Есть стек, нужно удалить его часть по заданным границам. Часть кода, неясно как удалять голову стека. Лезет грязь.

Pascal
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
program z7;
type
    list=^tlist;
    tlist = record
        data: string;
        next:list;
    end;
var
    WorkList,fg,lg,temp,tmp1:list;
    workEl,tmp:string;
    firstgr, lastgar, i :integer;
    inp1,out1:text;
    
 
{======================= Head Types and values ==================}
 
procedure addelem(var sp:list; newelem: string);
var tmp: list;
begin
    new(tmp);
    tmp^.next:=sp;
    tmp^.data:=newelem;
    sp:=tmp;
end;
 
procedure printList(sp:list);
begin
    while sp<>nil do
    begin
        if sp=nil then
        begin
            writeln('empty');
            exit;
        end;
        {writeln(sp^.data); }  writeln(sp^.data);
        sp:=sp^.next;
    end;
end;
 
 procedure delelem (var sp:list);
 begin
 sp^.next:=sp^.next^.next;
 end;
 
begin
    assign(input, 'stack.inp');
    reset(input);
    assign(output,'strez5.out');
    rewrite(output);
    readln(firstgr);
    readln(lastgar);
    if firstgr>lastgar then
    begin
    writeln('No, I cant do this');
    exit;
    end;
    new(worklist);
    worklist^.next:=nil;                        
    worklist:=worklist^.next;
    i:=1;
    while not eof do
    begin
    readln(workel);
    addelem(worklist,workel);
    if i=firstgr-1 then
    fg:=worklist;
    if i=lastgar+1 then
    lg:=worklist;
    if i>lastgar then
        begin
        temp:=worklist;
        end;
    inc(i);
    end;
    if lastgar=i-1 then
    begin
    worklist:=worklist^.next;
    dispose(worklist)
    end;
    printList(worklist);
    if ((firstgr=1) and (lastgar=i-1)) then
    worklist:=nil
    else
    begin
    writeln('~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~');
    lg^.next:=fg;
    printList(worklist);
    end;
    close(input);
    close(output);
end.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
10.12.2016, 23:05
Ответы с готовыми решениями:

Реализация стека целых чисел. Процедура добавления нового элемента, удаление, вывод стека
Попросили написать программку, но, паскаль очень давно не практикую, поэтому прошу тут: Надо...

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

Удаление элемента из стека
Помогите пожалуйста Нужно создать стек и удалить из него элемент (например B)

Удаление элемента стека по порядковому номеру
1. Добавление элемента в стек. 2. Поиск элемента в стеке по значению. 3. Процедура...

0
10.12.2016, 23:05
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
10.12.2016, 23:05
Помогаю со студенческими работами здесь

Объединение ячеек, удаление границ в Microsoft Project
Подскажите пожалуйста как в Microsoft Project объединить ячейки, что б выглядело при распечатывании...

Удаление из стека
Доброго, я не понимаю, почему в методе Pop() происходит удаление значение из массива(стека) ведь...

Удаление элементов из стека
Задание: 10. В созданном списке определить количество элементов, имеющих значения, меньше среднего...

Удаление элементов из стека
Здравствуйте. Посмотрите, пожалуйста мой код. Это не совсем обычная реализация стэка. И может быть...

Реализовать удаление из стека
Можете подкинуть что-нибудь прочитать про это? или саму реализацию с пояснением

Удаление элементов стека
В созданном списке определить максимальное значение и удалить его


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru