IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

 
 Ответить  Открыть новую тему 
> Задача со стеками!
сообщение
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 15
Пол: Мужской
Реальное имя: Вячеслав

Репутация: -  0  +



Вводится строка заканчивающаяся точкой, например SSALK.
вывести её в обратном порядке, используя процедуры стеков.

Помогите решить полностью задачу!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Гость






Ну уж чего-чего, а реализаций стека на форуме хватает... Вот тут, например:

Все о динамических структурах данных.

Читал? Там есть модуль, реализующий 3 основные операции: проверка на пустоту, Push и Pop... С использованием этого модуля программа будет выглядеть, например, так:
uses crt, stack;

var
ch: telem;
st: tstack;


begin
stackinit(st);

repeat

ch := readkey;
write(ch);
stackpush(st, ch);

until ch = '.';
writeln;

stackpop(st); { <--- Это - если НЕ надо печатать саму точку }
while not stackempty(st) do begin
write(stackpop(st));
end;
writeln;readln;
end.

(в самом модуле stack.pas надо строчку telem = integer; заменить на telem = char;)

Можно то же самое сделать через рекурсию, в принципе - тоже работа со стеком, только немного в другом смысле.

Сообщение отредактировано: volvo -
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Новичок
*

Группа: Пользователи
Сообщений: 15
Пол: Мужской
Реальное имя: Вячеслав

Репутация: -  0  +


Volvo а ты можешь написать мне эту программку с моим условием и с моей СТРОКОЙ SSALK, а то времени вобрез самому понимать полностью. Заранее благодарен!!!!!!!!!!!!!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Гость






А ты запускал то, что я привел? Введешь свою строку, она будет перевернута.

P.S. То, что времени в обрез у тебя - это НЕ мои проблемы...
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


Новичок
*

Группа: Пользователи
Сообщений: 15
Пол: Мужской
Реальное имя: Вячеслав

Репутация: -  0  +


Цитата(volvo @ 13.04.2007 11:51) *

А ты запускал то, что я привел?

запускал не работает ch: = readkey;
eror:TYPE mismatch
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


Профи
****

Группа: Пользователи
Сообщений: 559
Пол: Мужской
Реальное имя: Бруно

Репутация: -  10  +


Цитата
С использованием этого модуля программа будет выглядеть, например, так:
тебе написали!


--------------------
Цитата
Imagination is more important than knowledge.
Albert Einstein
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #7


Новичок
*

Группа: Пользователи
Сообщений: 15
Пол: Мужской
Реальное имя: Вячеслав

Репутация: -  0  +


модуль всё скачал вложил в папку с файлом программы как положнно всё...

а в программа не запумскается ch: = readkey;
eror:TYPE mismatch
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #8


Профи
****

Группа: Пользователи
Сообщений: 559
Пол: Мужской
Реальное имя: Бруно

Репутация: -  10  +


Надо в основной программме писать
Uses Modulname;
и не забывай модуль перед этим откомпилировать.


--------------------
Цитата
Imagination is more important than knowledge.
Albert Einstein
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #9


Новичок
*

Группа: Пользователи
Сообщений: 15
Пол: Мужской
Реальное имя: Вячеслав

Репутация: -  0  +


Цитата(Tan @ 13.04.2007 17:24) *

Надо в основной программме писать
Uses Modulname;
и не забывай модуль перед этим откомпилировать.

Вообщем вот модуль
Unit STACK;
INTERFACE
Type
TElem = integer;
TStack = ^TElement;
TElement = record
info:TElem;
Next:TStack
end;

Procedure StackInit(var s:TStack);
Function StackEmpty(S:TStack):Boolean;

Procedure StackPush(var S:TStack; E:TElem);

Function StackPop(var S:TStack):TElem;
{--------------------------------------}

IMPLEMENTATION
Procedure StackInit(var s:TStack);
begin
s:=nil
end;
Function StackEmpty(S:TStack):Boolean;
begin
StackEmpty:=(S=NIL);
end;
Procedure StackPush(var S:TStack; E:TElem);
var
z:TStack;
begin
new(z);
z^.next:=s;
Z^.INFO:=E;
s:=z;
end;
Function StackPop(var S:TStack):TElem;
const errorcode=255;
var z:TStack;
begin
If StackEmpty(S) then
begin

Halt(errorcode);
end else
begin
z:=s;
s:=s^.next;
stackPop:=z^.info;
dispose(z)
end
end;
end.



А ВОТ ПРОГРАМММА!

uses crt, stack;

var
ch: telem;
st: tstack;


begin
stackinit(st);

repeat

ch := readkey;
write(ch);
stackpush(st, ch);

until ch = '.';
writeln;

stackpop(st); while not stackempty(st) do begin
write(stackpop(st));
end;
writeln;readln;
end.


М
ну неужели поставить теги так сложно? предупредила же. и в правилах это есть...
мисс_граффити


....................
Теперь обьясните что делать???

Откомпилировал я модуль, поставил Destanitiоn Disk как в инструкции
в программе uses crt, stack/ это уже есть или как помогите?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #10


просто человек
******

Группа: Пользователи
Сообщений: 3 641
Пол: Женский
Реальное имя: Юлия

Репутация: -  55  +


когда ж люди читать научатся....
Тебе что сказали сделать?
Цитата
(в самом модуле stack.pas надо строчку telem = integer; заменить на telem = char;)


а ты что делаешь?
Цитата
TElem = integer;


и вообще, код надо писать в тегах code!


--------------------
Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #11


Новичок
*

Группа: Пользователи
Сообщений: 15
Пол: Мужской
Реальное имя: Вячеслав

Репутация: -  0  +


я читать умею и это я сделал всё равно тоже самое.....в самом модуле я поменял целоее на чар!!!!

Добавлено через 5 мин.
Цитата(Lion4ik @ 13.04.2007 18:41) *

я читать умею и это я сделал всё равно тоже самое.....в самом модуле я поменял целоее на чар!!!!


Ну что кто поможет??? ведь я знаю вы знаете....
всё поменял указал ....но всё равно EROR: 26
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #12


просто человек
******

Группа: Пользователи
Сообщений: 3 641
Пол: Женский
Реальное имя: Юлия

Репутация: -  55  +


после этого модуль перекомпилировал?


--------------------
Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #13


Новичок
*

Группа: Пользователи
Сообщений: 15
Пол: Мужской
Реальное имя: Вячеслав

Репутация: -  0  +


Цитата(мисс_граффити @ 13.04.2007 18:59) *

после этого модуль перекомпилировал?

да мисс граффити перекомпилировал....
ПРодемонстрируй пожалуста как указывать модуль ведь в uses есть уже stack и сам модуль называется STACK...единств что приходит в голову а так незнаю что и делать
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #14


Профи
****

Группа: Пользователи
Сообщений: 559
Пол: Мужской
Реальное имя: Бруно

Репутация: -  10  +


Если ты его объявил, откомпилировал и основная программа запустилась, значит всё сделал верно.


--------------------
Цитата
Imagination is more important than knowledge.
Albert Einstein
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #15


Новичок
*

Группа: Пользователи
Сообщений: 15
Пол: Мужской
Реальное имя: Вячеслав

Репутация: -  0  +


Цитата(Tan @ 13.04.2007 19:14) *

Если ты его объявил, откомпилировал и основная программа запустилась, значит всё сделал верно.

ну вот я показал модуль и проограмму .....Тан покажи пожалуйста что в программе дописать куда обьявить......
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #16


Профи
****

Группа: Пользователи
Сообщений: 660
Пол: Мужской
Реальное имя: Михаил

Репутация: -  11  +


Цитата(Lion4ik @ 13.04.2007 19:05) *
да мисс граффити перекомпилировал....
Наша Мисс права - все работает! Сделай все еще раз сначала как она тебе говорит. Замени TElem = integer; на TElem = char; в модуле STACK.PAS
А программу Volvo не трогай!!! Там менять нечего, он все за тебя сделал.
Хау! Удачи.


--------------------
Никогда не жадничай. Свои проблемы с любовью дари людям!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #17


Новичок
*

Группа: Пользователи
Сообщений: 15
Пол: Мужской
Реальное имя: Вячеслав

Репутация: -  0  +


Цитата(hiv @ 13.04.2007 20:28) *

Наша Мисс права - все работает! Сделай все еще раз сначала как она тебе говорит. Замени TElem = integer; на TElem = char; в модуле STACK.PAS
А программу Volvo не трогай!!! Там менять нечего, он все за тебя сделал.
Хау! Удачи.

получилось!!!
теперь запускает программу куда написать свою строку чтобы он её наоборот выдавал?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #18


просто человек
******

Группа: Пользователи
Сообщений: 3 641
Пол: Женский
Реальное имя: Юлия

Репутация: -  55  +


у тебя большой выбор, куда вводить строку?


--------------------
Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #19


Новичок
*

Группа: Пользователи
Сообщений: 15
Пол: Мужской
Реальное имя: Вячеслав

Репутация: -  0  +


Цитата(мисс_граффити @ 13.04.2007 21:40) *

у тебя большой выбор, куда вводить строку?

выбор ммм наверное нет у меян голова вообще после сегодня не варит....
SSLAK потом точка
KLASS и без точки такое возможно??? и куда это вести??? МИИссс помогиииии
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 28.03.2024 19:27
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name