Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
0 / 0 / 1
Регистрация: 09.01.2016
Сообщений: 30
1

Как проверить, удаляется ли из стека элемент или нет?

04.06.2016, 14:17. Показов 887. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Delphi
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
var
  Form7: TForm7;
  type
  Bu=string; //тип данных, который будет храниться в элементе списка
  ptr=^Node; //тип элемента списка
  Node=record
  bukv:string; //данные хранимые в элементе
  next: ptr; //указатель на следующий элемент списка
  end;
  var
  p,q: ptr;
  n,i:integer;
  c:char;
  g,l:string;
 
 
implementation
 
{$R *.dfm}
procedure vvod(g1:string;var p1: ptr);
var
q1: ptr;
begin
getmem(q1,sizeof(node));   //выделяем память в место для нового элемента
q1^.bukv:=g;               //добавляем к элемету данные
q1^.next:=p;               //указатель на следующий элемент направляем на вершину стека
p1:=q1;                  //вершина стека изменилась, надо перенести и указатели на нее
end;
 
procedure vivod(var p1: ptr);
var
q1: ptr;
begin
q1:=p1; //указатель q1 направим на вершину стека
p1:=p1^.next; //вершину перенесем на следующий за данной вершиной элемент
FreeMem(q1,Sizeof(Node)); //освободим память занятую под старую вершину
end;
 
 
procedure TForm7.Button1Click(Sender: TObject);
begin
n:=memo1.Lines.count;
p:=nil;
for i:=0 to n-1 do begin
g:=(memo1.lines[i]);
vvod(g,p);
end;
while (p<>Nil) do begin  //пока стек не станет указывать в пустоту делать
memo2.lines.add(p^.bukv);   //вывести элемент
vivod(p);         //обратимся к процедуре
end;
end;
end.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
04.06.2016, 14:17
Ответы с готовыми решениями:

Удалить элемент стека, равный 10, или вывести, что такого элемента нет
Помогите доделать программу,нужно чтобы выводило что элемента нет, когда его нет в стеке. Вот код:...

Проверить есть ли Dom элемент или нет
добрый день. vba-Excel-парсер. Проверить есть ли элемент или нет. Есть выражение...

В массиве из 20 целых чисел найти минимальный элемент и проверить чётное это число или нет
В массиве из 20 целых чисел найти минимальный элемент и проверить чётное это число или нет.

Как включить автосохранение проекта или проверить включено или нет?
как включить автосохранение проекта ? или проверить включено или нет ?

2
Хитрая блондиночка $)
1472 / 988 / 399
Регистрация: 21.12.2015
Сообщений: 3,785
04.06.2016, 14:28 2
Никак не проверишь.
Максимум - пройтись циклом по списку и проверить есть ли в списке этот элемент, но даже отсутствие элемента в списке не говорит о его корректном освобождении. Т.е. например в результате неверной работы ПО элемент может от списка отцепиться, но все еще висеть в памяти ни с кем не связанным.
0
0 / 0 / 1
Регистрация: 09.01.2016
Сообщений: 30
05.06.2016, 12:55  [ТС] 3
Проверить как раз таки можно, если разделить эти процедуры на 2 кнопки. Во второй кнопке присвоить еще одному казателю начало стека, потом сделать вывод, потом снова перенести указатель на начало стека. Еще раз нажать на кнопку и на выводе сделать проверку пустоты стека и вывести сообщение, если он пуст. Так что можно
0
05.06.2016, 12:55
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.06.2016, 12:55
Помогаю со студенческими работами здесь

Структура стек (: добавить элемент в стек, удалить элемент из стека, получить значение с вершины стека, размер стека...)
Всем привет,ребят помогите пожалуйста с лабой,вообще без понятия про стеки:( Может кто то...

Как проверить checked или нет
Доброго времени суток подскажите как проверить отмечен или нет checkbox и отправить через GET ...

Как проверить, на главной я или нет?
Как проверить на главной странице я или нет, тоесть есть ли что-то после / окончания домена

Как проверить, рабочий БП или нет?
как проверить рабочиё бп или нет. Заранее благодарен!!!


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

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