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

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

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

Автор: Connected 20.03.2007 0:53

Отредактировать предложение, удаляя из него лишние пробелы, оставляя только по одному пробелу между словами.


Если возможно, представить алгоритм решения задания.


Заранее, СПАСИБО!

Автор: Артемий2 20.03.2007 1:28

readln(s);
for i:=1 to length(s)do begin
if (s[i]=' ') and (s[i+1]=' ') then begin
a:=i;
repeat
delete(s,a,1);
until (s[a+1]<>' ');
end;
end;


Попробуй так...?

Автор: Connected 20.03.2007 1:32

А до этого надо писать uses crt или что-то еще? Если да, то что именно? Заранее спасибо!

Автор: Tan 20.03.2007 1:41

Вот полная программа на основе алгоритма Артемия :

var i,a : integer;
s : string;
begin
readln(s);
for i:=1 to length(s)do begin
if (s[i]=' ') and (s[i+1]=' ') then begin
a:=i;
repeat
delete(s,a,1);
until (s[a+1]<>' ');
end;
end;
writeln (s);
readln;
end.


Модуль CRT здесь не обязателен, вот если бы ты использовал readkey или ClrScr, тогда бы он пригодился.

Автор: Алена 20.03.2007 1:53

Так не проще?

var
p: integer;
s: string;
begin
readln(s);
{ s := '123 12 1222 12 15'; }
repeat
p := pos(' ', s);
if p > 0 then delete(s, p, 1);
until p = 0;
writeln(s);
end.

Автор: Артемий2 20.03.2007 1:54

lol.gif yes2.gif

Автор: Connected 20.03.2007 23:49

А как блок-схема выглядит? Кто-то может помочь составить?

Автор: Connected 3.04.2007 20:59

Вот я сам попытался составить блок-схему...
Правильно?
Если нет, то в чем ошибка? Как исправить?

P.S. - схема составлена для программы Алены.


Эскизы прикрепленных изображений
Прикрепленное изображение

Автор: AnTiDoD 3.04.2007 21:20

Поищи в поиске... В FAQ есть неплохая функция по разбиению слов на массивы, вот там то и есть код ля убирания доп. пробелов

Автор: Connected 4.04.2007 17:34

Цитата(AnTiDoD @ 3.04.2007 17:20) *

Поищи в поиске... В FAQ есть неплохая функция по разбиению слов на массивы, вот там то и есть код ля убирания доп. пробелов


да саму программу я уже составил!
проблема с блок-схемой..

Автор: klem4 4.04.2007 17:38

http://forum.pascal.net.ru/index.php?showtopic=4270&hl=%EF%F0%EE%E3%F0%E0%EC%EC%E0+%EF%EE%F1%F2%F0%EE%E5%ED%E8%FF
?

Автор: Connected 4.04.2007 22:00

Цитата(klem4 @ 4.04.2007 13:38) *

http://forum.pascal.net.ru/index.php?showtopic=4270&hl=%EF%F0%EE%E3%F0%E0%EC%EC%E0+%EF%EE%F1%F2%F0%EE%E5%ED%E8%FF
?


сделал всё, как описано в readme...
но прога (Bs) пишет: "ошибка листинга"..
в чем проблема?