Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Внимание! Есть замечания модератора по теме: Название темы по правилам форума должно адекватно отражать суть решаемой задачи/проблемы.
Старый 25.12.2012, 20:09   #1
illuminato
 
Регистрация: 18.12.2012
Сообщений: 9
По умолчанию Param43 - Описать функцию DecompressStr(S) - восстанавливающую сжатую строку

Помогите решить задачу на Pascal
Описать функцию DecompressStr(S) строкового типа, восстанавливающую строку,
сжатую функцией CompressStr (см. задание Param42). Параметр S содержит сжатую строку;
восстановленная строка является возвращаемым значением функции. С помощью функции
DecompressStr восстановить пять данных сжатых строк.

пример: hgd{8} - преобразуется hgdddddddd
то есть d{8}=dddddddd


Код:
program decompress; 
uses crt; 

var 
s : string; 

function DeCompressStr(s : string) : string; 
var 
i:byte; 
begin 
{---------} 
Здесь код 
{---------} 
write(S); 
end; 

begin 
clrscr; 
readln(s); 
s := decompressstr(s); 
writeln(s); 
readln; 
end.
illuminato вне форума Ответить с цитированием
Старый 26.12.2012, 19:41   #2
Izobara
Форумчанин
 
Аватар для Izobara
 
Регистрация: 26.12.2012
Сообщений: 227
По умолчанию

Код:
program decompress;
//uses crt;

var
s : string;

function DeCompressStr(s : string) : string;
var
i,j,code:integer;
begin
val(s[length(s)-1],j,code);
delete(s,pos('{', s),3);
for i:=1 to j do
s:=s+s[length(s)];
write(s);
end;

begin
//clrscr;
readln(s);
s := decompressstr(s);
//writeln(s);
readln;
end.
Это если в скобках число меньше 10. Иначе там посложнее будет.
"I believe I can fly" - C++, "What do you want from me" - Delphi, "Yesterday" - Pascal, "Let it be" - C#... Программисты-музыканты-полиглоты поймут

Последний раз редактировалось Izobara; 26.12.2012 в 19:45.
Izobara вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
описать функцию megawar Паскаль, Turbo Pascal, PascalABC.NET 2 22.11.2012 19:20
Описать функцию Ins1De Помощь студентам 0 04.06.2012 19:04
Описать функцию (C++) Etete Помощь студентам 0 27.12.2011 18:51
Описать функцию нахождения расстояния между 2-мя точками на плоскости, заданными своими координатами, и функцию .... zzz6 Помощь студентам 2 06.07.2011 08:24