Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Задачи _ Задача на тему строковые данные

Автор: kvadrat 24.05.2008 16:35

Условие:
Прикрепленное изображение

program text1;
uses crt;
var s:string[100];
st:string[10]; b:string;
a,z,i,j,m:integer;
begin
clrscr;
writeln('ўўҐ¤ЁвҐ бва®Єг');
readln(s);
a:=length(s);
for i:=1 to a do
begin
if (s[i])=(s[i+1]) then
begin
for j:=1 to m do
delete(s,i+1,j);
insert('(j)',s,i-1);
end;
end;
writeln(s);
readln;
readln;
end.


Тому кто поможет тысячу спасиб и + в репу гарантирован smile.gif

Автор: volvo 24.05.2008 16:41

Поставь плюс "Поиску по форуму", там есть такая задача (если не нашел - ищи еще раз, я сам ее выкладывал, так что она там есть точно).

Автор: kvadrat 25.05.2008 0:49

(*
const
s: string =
'assssssssssssssssssssssrrrfigngnnnnnnn ytytytyyyyy fffff ijjjjjj';
*)
function change_more(s: string;
var i: byte): string;
var
j, count: byte;
st: string;
begin
j := succ(i);
while (s[j] = s[i]) and
(j <= length(s)) do inc(j);
count := j - i;
if count > 3 then
begin
str(count, st);
s := copy(s, 1, i) + '(' + st + ')' + copy(s, j, 255);
inc(i, succ(2 + length(st)))
end
else i := j;
change_more := s
end;

var
i: byte;
test: string;
begin
write('s = '); readln(s);
test := s; i := 1;
while i <= length(test) do
test := change_more(test, i);
writeln(test)
end.


Ты про это? если да то как избавиться от функций и процедур? и если незатруднит небольшой коментарий нащёт решения можна?