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

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

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

> Выделение троичного чила кратного 3, Pascal
Flyer
сообщение 19.11.2006 13:34
Сообщение #1


Гость






Помогите пожалуйста решить задачу выделения троичного числа на паскале.Програма должна быть написана на стандарте языка. Так же нельзя использовать массивы и строки....
Обрабатываемый текст вводиться с клавиатуры. Пример:
qjhjereh 1231 1100 sdhf1231 hjh110
Результат: 1100
Заранее благодарен...
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
klem4
сообщение 20.11.2006 19:00
Сообщение #2


Perl. Just code it!
******

Группа: Модераторы
Сообщений: 4 100
Пол: Мужской
Реальное имя: Андрей

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


smile.gif

uses crt;

type

PList = ^TList;

TList = record
Data: Char;
Next: PList;
end;

TStack = Object
public
constructor Create;
destructor Free;
procedure Push(value: Char);
procedure DisplayPart(_from, _to: PList);
procedure Main;
private
First: PList;
end;


constructor TStack.Create;
begin
First := nil;
end;

destructor TStack.Free;
var
R, T: PList;
begin

R := First;

while (R <> nil) do begin
T := R^.Next;
Dispose( R );
R := T;
end;

end;

procedure TStack.Push(value: Char);
var
R, T: PList;
begin

GetMem(R, sizeof(TList));

R^.Data := value;
R^.Next := nil;

if First = nil then First := R

else begin

T := First;

while (T^.Next <> nil) do T := T^.Next;

T^.Next := R;

end;

end;

procedure TStack.DisplayPart(_from, _to: PList);
var
R: PList;
begin

R := _from;

writeln;

while (R <> nil) and (Integer® <= Integer(_to)) do begin
write(R^.Data);
R := R^.Next;
end;

end;

procedure TStack.Main;
var
i, f, t: PList;
ch: Char;
bad: Boolean;
begin

repeat
ch := readkey;
if ch <> #13 then begin
write(ch);
Push(ch);
end;
until ch = #13;

writeln;

i := First;

while (i <> nil) do begin
while (i <> nil) and (i^.Data = ' ') do i := i^.Next;
if i <> nil then begin
f := i;
bad := false;
while (i <> nil) and (i^.Data <> ' ') do begin
if not (i^.Data in ['0'..'2']) then bad := true;
i := i^.Next;
end;
if not(bad) then DisplayPart(f, i);
end;
end;

end;

var
S: TStack;

begin
clrscr;

S.Create;
S.Main;
S.Free;

readln;
end.


--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме
Flyer   Выделение троичного чила кратного 3   19.11.2006 13:34
klem4   Объясни задание по подробней, что за троичные числ...   19.11.2006 17:19
Гость   Числа в троичной системе счисления всмысле)   19.11.2006 17:21
klem4   Вводишь строку, разбиваешь ее на слова ( Разбиение...   19.11.2006 17:38
мисс_граффити   klem4, почти.   19.11.2006 18:01
volvo   Тогда, как, извини, ты собрался хранить результат?...   19.11.2006 18:06
Гость   В том то и дело что никак не представляю,поэтому и...   19.11.2006 18:38
klem4   Какое-то странное задание, ну раз ничего нельзя ис...   19.11.2006 19:01
volvo   Угу... Или рекурсия :rolleyes:   19.11.2006 19:04
Гость   спасибо большое   19.11.2006 19:06
klem4   Гость, если честно, я очень сомневаюсь что задачу ...   19.11.2006 19:09
volvo   Я написал выше - рекурсией :) Зачем использовать с...   19.11.2006 19:13
klem4   Аа ты имеешь в виду по такомуже принципу (юзать ви...   19.11.2006 19:15
volvo   Я этого не говорил, это ТЫ сказал... Про видеопамя...   19.11.2006 19:54
мисс_граффити   а файлы можно использовать?...   19.11.2006 22:45
Гость   используется только стандартный ввод и стандартный...   20.11.2006 17:30
volvo   В общем, вот что у меня получилось (как и заказыва...   20.11.2006 18:10
klem4   :) uses crt; type PList = ^TList; TList = ...   20.11.2006 19:00
volvo   Это смотря какой язык считать стандартом... Объект...   20.11.2006 19:05
klem4   Слушай, твою прогу еще не разбирал, но на соклько ...   20.11.2006 19:08
volvo   Я же показал идею, как можно сохранить строку, под...   20.11.2006 19:31
klem4   Я понял задание так: Дана последовательность симво...   20.11.2006 19:35
volvo   И это присутствует... Я только что заметил... Чита...   20.11.2006 19:49


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

 



- Текстовая версия 25.06.2025 3:21
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"