Мне надо написать программу на тему обратного польского алгоритма... с использованием указателей и стека.... и все это в Дэльфе... обьясните как это написать.... или дайте ссылку на сайт где есть хорошие обьяснения всего этого)))



Хэлп плииизз!!! Мне очень надо!!! Выручайте!!!


Комментарии
10.09.2005 в 20:53

Life is a life... We are the humans...
хм.. а разве в дельфи есть указатели???

и можно условие поподробнее? что за польский алгоритм?
10.09.2005 в 20:53

149ea694a792f3ad2caaf77077a0df58 Спорящая с богом
http://program.rin.ru/razdel/html/941.html

Только это не алогритм, а нотация.
10.09.2005 в 23:04

MrXaK, есть)))



Караидель, спасиббо)))



Подробнее описание.



Дело в том, что я не умею пользоваться типом указателей.. и описывать тип стек... вот так... мне все это желательно к среде написать... только яне понимаю... хотя Дельфи знаю для начинающего неплохо... но эта тема сложновата для меня... мне нужна помощь как бы в записи всего этого в Дэльфе... нигде не могу найти.... хотя алгоритм понимаю.. но все сразу.... мдя... не могу понять...
10.09.2005 в 23:12

149ea694a792f3ad2caaf77077a0df58 Спорящая с богом
~Тинувиэль [Танцующий Смерч]~



Тогда разберись с указателями и стеком. Без понимания механизма работы пойнтеров (и навыка работы с ними) и знания базовых структур данных (список, очередь, стек, бинарные деревья и графы) в программировании делать нечего.

На том же сайте должно быть неплохое описание стека, а вот указатели ищи сама - мой опыт тебе не поможет, среди десятка с хвостиком языков, которые я знаю, Делфи не числится.
10.09.2005 в 23:19

Караидель , жалко)) но все равно спасибо за помощь))) а только два языка знаю.. и то еще учу их))) Паскаль и Бейсик.. но кажись с учетом того что я девушка. и мне всего 15 это чудо.. и только начало)))) Пасябо тебе)))



Я поищу))) я в порядке работы то разоббралась.. я записать не могу нормально... фигня выходит.. и тип не описывается.. этой стек... мдя((
11.09.2005 в 02:57

всё иллюзия
~Тинувиэль [Танцующий Смерч]~

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



p.s. не знаю что там с польским алгоритмом, но наверное под стеком имелся ввиду не стек CPU, да ?
11.09.2005 в 06:59

149ea694a792f3ad2caaf77077a0df58 Спорящая с богом
~Тинувиэль [Танцующий Смерч]~

По личному опыту могу сказать, что это не зависит от возраста и пола. Программизм - это диагноз.



Оранжевый Удав

При чём здесь дизасемблирование? При чём здесь стек процессора?! Девочке нужна программа разбора алгебраических выражений записанных в обратной польской нотации!
11.09.2005 в 13:00

всё иллюзия
Караидель просто увидел знакомое слово и обрадовался! =)))

да понял я уже что не про то пою..
11.09.2005 в 13:14

Оранжевый Удав , да... это немножко не то....



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

12.09.2005 в 12:41

Fixed.
~Тинувиэль [Танцующий Смерч]~

Стек - это нечто вроде стопки книг. Можно положить книгу наверх, можно сверху снять. Из середины брать нельзя по очевидным причинам :). Стек можно реализовать массивом, храня индекс "верха".
12.09.2005 в 14:50

Dimmy, я понимаю.. но как создать стэк... и вписать данные и как их пото достать??)))
13.09.2005 в 15:12

Я за тобой наблюдаю....
я не могу сказать точно как это сделать на делфях... но из работы с ними я точно помню что там можно делать асмовые вставки...

итак для того чтобы записать в стек

PUSH

для того чтобы достать из стека

POP

вот впринципе и все, как это реализовать в дельфе точно не помню, но если ты откроешь исходники стандартных компонентов то ты там такие вставки найдешь, вот и посмотри как это делается....
13.09.2005 в 15:20

149ea694a792f3ad2caaf77077a0df58 Спорящая с богом
_SpectatoR_

На фига такие сложности??? Имеется в виду не стек-сегмент, а структура данных под названием "стек". Реализуется массивом или связаным списком. А то ты сейчас научишь... Поменяет CS:IP - завесит комп.
14.09.2005 в 02:03

всё иллюзия
в делфи есть TStack который принимает Pointer в качестве параметра

то есть запихать в стек можно что угодно
14.09.2005 в 11:11

Я за тобой наблюдаю....
КАРОЧЕ! Вывод из дискусии такой.



ДЕЛФИ - МАЗДАЙ!!!

ПОЛЬЗУЙТЕ Си или АСМ!



:-D
14.09.2005 в 12:08

_SpectatoR_ , спасибо.... но впрямь что-то не то....



Караидель, подвешу комп или сломаю врядли... но прогу со злости сломаю точно....



Оранжевый Удав, вот как туда запихать и выпихать??? обьясни плиз!!!



_SpectatoR_, легко сказать... я то Дельфу прохожу.. мне все равно в Дэльфе писать))))
14.09.2005 в 12:33

всё иллюзия
~Тинувиэль [Танцующий Смерч]~





uses Contnrs;

var

stack : Tstack;



obj : TObject;

np : pointer;

...

begin

stack := TStack.Create;

try

// запихивание произвольного объекта делфи, т.к. они все унаследованы от TObject

stack.push(obj); // запихиваем

obj := nil; // обнуляем указатель для чистоты ээксперимента, теперь указатель на объект держит только стек, это не позволяет объекту уничтожиться

obj := stack.pop; // вынимаем из стека



// запихивание числа

GetMem(np, sizeof(integer));

np^ := 56432;

stack.push(np);

np := nil;

stack.pop(np);

writeln(np^);

FreeMem(np);



finally

stack.Free;

end;

end;





вобщем как-то так )
14.09.2005 в 12:37

Оранжевый Удав , спаааасибо тебе огромное)))... мне немного надо этот стэк переделать под себя... и наверное запихнуть в цикл))) но это почти все))) спасибо))))
14.09.2005 в 14:37

Я за тобой наблюдаю....
Оранжевый Удав гыыыыыыыыы.... ну а че не пуш поп метод? Просто реализация через дельфи... он сам следит за верхушкой стека... а то что я написал надо самому следить :)
14.09.2005 в 14:41

_SpectatoR_ , оригинально))
15.09.2005 в 02:31

всё иллюзия
_SpectatoR_ да, ты прав

:zhosh:

23.10.2005 в 21:28

Lost.. =)
Кому ОПЗ написать?

Давай я тебе прямо исходник дам, а?



Девочке нужна программа разбора алгебраических выражений записанных в обратной польской нотации!

Наверно не так все таки))... Не записаных, а с помощью))