Работа со стеком(Delphi)

Ответить

Код подтверждения
Введите код в точности так, как вы его видите. Регистр символов не имеет значения.

BBCode ВКЛЮЧЁН
[img] ВКЛЮЧЁН
[url] ВКЛЮЧЁН
Смайлики ОТКЛЮЧЕНЫ

Обзор темы
   

Развернуть Обзор темы: Работа со стеком(Delphi)

Re: Работа со стеком(Delphi)

Хыиуду » 14 апр 2008, 11:24

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

Re: Работа со стеком(Delphi)

BHy4ok » 13 апр 2008, 09:21

Какие проблемы с первой задачей, что не получилось ?

Re: Работа со стеком(Delphi)

BHy4ok » 13 апр 2008, 09:17

2) На форму кидаешь: Батон и мемо.
Будет что-то подобное (не проверял):
[syntax='Delphi']
var
i: integer;
s: string;
begin
s := memo1.Text;
for I := 0 to memo1.GetTextLen do
begin
if S=s[i+1] then
Delete(S,i,1);
end;
memo1.Text := S;
[/syntax]

Re: Работа со стеком(Delphi)

BHy4ok » 13 апр 2008, 07:57

3) Единственный момент, не стал мудрить с удалением из массива, а просто удалил повторяющиеся строки из "мемо". Файл 'G' появится в папке с проектом.
На форму кидаешь: Батон, Диалон и Мемо.
Если не разберешься могу скинуть проект целиком.
Числа в файле формата:
3
7
5
...
[syntax='Delphi']
var
s1: string;
F,G: TextFile;
S: string;
a: array[0..100] of integer;
i,n,j,buf,st,k: integer;
begin
memo1.Clear;
if OpenDialog1.Execute then
begin

AssignFile(F,OpenDialog1.FileName);
Reset(F);
While not Eof(F) do
begin
readln(F,S);
a:=StrToINt(S);
inc(i);
end;
st := i-1;

for i := i-1 downto 1 do
begin
for j := 0 to i-1 do
if a[j] < a[j+1] then
begin
buf := a[j];
a[j] := a[j+1];
a[j+1] := buf;
end;
end;
for k:=0 to st do
S1:=S1+IntTostr(a[k])+#13#10;
memo1.Text := (S1);
for n:=0 to Memo1.Lines.Count-1 do
if (memo1.Lines[n]=memo1.Lines[n+1]) then memo1.Lines.Delete(n);

AssignFile(G, 'Sort.txt');
Rewrite(G);
writeln(G, Memo1.Text);
CloseFile(G);
end;
[/syntax]

Re: Работа со стеком(Delphi)

MOTOCoder » 12 апр 2008, 13:07

Как я понял, имеются в виду группы одинаковых чисел, т.е. в последовательности 122234445 группы одинаковых чисел 222 и 444.

Re: Работа со стеком(Delphi)

BHy4ok » 12 апр 2008, 08:14

2. Что значит из каждой группы ? Как я понял у тебя идет строка целых чисел, где тут группы ?

Работа со стеком(Delphi)

BerserK » 12 апр 2008, 04:11

1. Для стека описать следующие процедуры или функции:
• Создание пустого стека S (очистка стека);
• Добавление в стек S элемента x (instack(S ,x));
• Удаление из стека S элемента c присвоением его значения параметру x
outstack(S ,x)).
Если операция по каким-либо причинам не может быть выполнена, следует вызвать
некоторую процедуру Error(k), где k – номер ошибки: 1 – переполнение стека, 2 –
исчерпание стека.

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

3. Дан файл f, компонентами которого являются целые числа. Получить в файле g все положительные числа, входящие в файл f. Числа в файле g должны следовать в порядке убывания, без повторений.

Вернуться к началу